MySQL用户账户管理
1.MySQL 用户名和密码
MySQL中mysql数据库的user表中存储用户,一个帐号被定义根据连接到服务器的一个用户名和客户端主机或主机名,这个帐号也有一个密码,更多的信息在user表中查询。
2.添加用户账户
创建MySQL帐号的两种方式
使用语句创建账户:CREATE USER 或GRANT
创建用户
mysql> CREATE USER ‘monty’@’localhost’ IDENTIFIED BY ‘some_pass’
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘monty’@’localhost’
-> WITH GRANT OPTION;
mysql> CREATE USER ‘monty’@’%’ IDENTIFIED BY ‘some_pass’;
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘monty’@’%’
-> WITH GRANT OPTION;
mysql> CREATE USER ‘admin’@’localhost’;
mysql> GRANT RELOAD,PROCESS ON *.* TO ‘admin’@’localhost’;
mysql> CREATE USER ‘dummy’@’localhost’;
mysql权限列表
权限 |
权限级别 |
权限说明 |
CREATE |
数据库、表或索引 |
创建数据库、表或索引权限 |
DROP |
数据库或表 |
删除数据库或表权限 |
GRANT OPTION |
数据库、表或保存的程序 |
赋予权限选项 |
REFERENCES |
数据库或表 |
|
ALTER |
表 |
更改表,比如添加字段、索引等 |
DELETE |
表 |
删除数据权限 |
INDEX |
表 |
索引权限 |
INSERT |
表 |
插入权限 |
SELECT |
表 |
查询权限 |
UPDATE |
表 |
更新权限 |
CREATE VIEW |
视图 |
创建视图权限 |
SHOW VIEW |
视图 |
查看视图权限 |
ALTER ROUTINE |
存储过程 |
更改存储过程权限 |
CREATE ROUTINE |
存储过程 |
创建存储过程权限 |
EXECUTE |
存储过程 |
执行存储过程权限 |
FILE |
服务器主机上的文件访问 |
文件访问权限 |
CREATE TEMPORARY TABLES |
服务器管理 |
创建临时表权限 |
LOCK TABLES |
服务器管理 |
锁表权限 |
CREATE USER |
服务器管理 |
创建用户权限 |
PROCESS |
服务器管理 |
查看进程权限 |
RELOAD |
服务器管理 |
执行flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, reload等命令的权限 |
REPLICATION CLIENT |
服务器管理 |
复制权限 |
REPLICATION SLAVE |
服务器管理 |
复制权限 |
SHOW DATABASES |
服务器管理 |
查看数据库权限 |
SHUTDOWN |
服务器管理 |
关闭数据库权限 |
SUPER |
服务器管理 |
执行kill线程权限 |
设置密码
mysql> SET PASSWORD FOR
-> ‘jeffrey’@’localhost’ = PASSWORD(‘mypass’);
mysql> SET PASSWORD = PASSWORD(‘mypass’);
删除用户
DROP USER ‘jeffrey’@’localhost’;