1 登入 mysql 。 mysql -u 用户名 -p
2 进入mysql库。 USE mysql ;
3 用户管理
3.1 查询当前用户。SELECT USER FROM user;
3.2 创建用户。CREATE user 用户名 IDENTIFIED BY ‘密码’;
3.3 修改账户名。RENAME USER ‘老用户名’ to ‘新用户名’;
3.4 删除用户。DROP USER ‘用户名’;
3.5 修改密码 SET PASSWORD FOR 用户= Password(‘密码’);
4 权限管理
4.1 查看赋予用户权限。SHOW GRANTS FOR ‘用户名’;
4.2 用户授权。GRANT 要授予的权限(SELECT) ON 被授予访问权限的数据库或表(eg: db01.* 说明:数据库01的所有表) TO 用户名;授权的时候多个权限可以用逗号隔开
4.3撤销授权。REVOKE 要取消的权限 ON 被授予访问权限的数据库或表 TO 用户名;
GRANT和REVOKE可在几个层次上控制访问权限:
整个服务器,使用GRANT ALL和REVOKE ALL;
整个数据库,使用ON database.*;
特定的表,使用ON database.table;
特定的列;
特定的存储过程。
权限一览表
权 限 | 说 明 |
---|---|
ALL | 除了GRANT OPTION的所有权限 |
ALTER | ALTER TABLE |
ALTER ROUTINE | ALTER PROCEDURE和DROP PROCEDURE 对存储过程进行操作 |
CREATE | CREATE TABLE |
CREATE ROUTINE | CREATE PROCEDURE |
CREATE TEMPORARY | TABLES CREATE TEMPORARY TABLE 创建临时表 临时表只能创建人使用 |
CREATE USER | CREATE USER、DROP USER、RENAME USER和REVOKE ALL PRIVILEGES(移除所有权限) |
CREATE VIEW | CREATE VIEW |
DELETE | DELETE |
DROP | DROP TABLE |
EXECUTE | 使用CALL和存储过程 |
FILE | 使用SELECT INTO OUTFILE(SELECT … INTO OUTFILE 将数据从一个数据库写到一个文件中)和LOAD DATA INFILE(从一个文本文件中读取行到一个表中) |
GRANT OPTION | GRANT和REVOKE |
INDEX | CREATE INDEX和DROP INDEX |
INSERT | INSERT |
LOCK TABLES | LOCK TABLES |
PROCESS | SHOW FULL PROCESSLIST(查看正在执行的Sql语句) |
RELOAD | FLUSH(清除或者重新加载内部缓存) |
REPLICATION CLIENT | 服务器位置的访问(使得用户可以使用SHOW MASTER STATUS和SHOW SLAVE STATUS命令,也就是说这个权限是用于授予账户监视Replication状况的权力) |
REPLICATION SLAVE | 由复制从属使用(一个必须而基本的权限,它直接授予slave服务器以该账户连接master后可以执行replicate操作的权利) |
SELECT | SELECT |
SHOW DATABASES | SHOW DATABASES |
SHOW VIEW | SHOW CREATE VIEW(查看视图) |
SHUTDOWN | mysqladmin shutdown(用来关闭MySQL) |
SUPER | 使用CHANGE MASTER、KILL、LOGS、PURGE、MASTER和SET GLOBAL。还允许mysqladmin调试登录 |
UPDATE | 使用UPDATE |
USAGE | 无访问权限 |