1. 查看用户权限
SHOW GRANTS FOR 用户名;
示例:查看用户Jason
拥有的权限
SHOW GRANTS FOR Jason;
- 打印:
- 查询出一条权限,但
USAGE
表示根本没有权限。
2. 赋予权限
GRANT 权限 ON 表名 TO 用户名 [IDENTIFIED BY [PASSWORD] ‘password’]
常见的权限:all
、create
、drop
、insert
、update
、select
。
示例:给用户Jason
分配test
库中所有表的查询权限
查看权限变成2条:
3. 撤销权限
REVOKE 权限列表 ON 表名 FROM 用户名;
示例:撤销用户Jason对test库里所有表的查询操作
REVOKE SELECT ON test.* FROM Jason;
4. 权限列表
使用授权,撤销权限时可参考如下权限列表:
权限 | 说明 |
---|---|
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和LOAD DATA INFILE |
GRANT OPTION | 使用GRANT和REVOKE |
INDEX | 使用CREATE INDEX和DROP INDEX |
INSERT | 使用INSERT |
LOCK TABLES | 使用LOCK TABLES |
PROCESS | 使用SHOW FULL PROCESSLIST |
RELOAD | 使用FLUSH |
REPLICATION CLIENT | 服务器位置的访问 |
REPLICATION SLAVE | 由复制从属使用 |
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 | 无访问权限 |