主题
GRANT 与 REVOKE
1. 授权(GRANT)
GRANT
用于赋予用户访问数据库及操作权限,语法如下:
sql
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机';
示例:授予用户 alice
在 testdb
数据库所有表的查询和插入权限:
sql
GRANT SELECT, INSERT ON testdb.* TO 'alice'@'localhost';
赋予所有权限:
sql
GRANT ALL PRIVILEGES ON testdb.* TO 'alice'@'localhost';
执行授权后,通常需要刷新权限:
sql
FLUSH PRIVILEGES;
2. 撤销权限(REVOKE)
REVOKE
用于收回已授权的权限,语法如下:
sql
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机';
示例:撤销用户 alice
在 testdb
数据库的插入权限:
sql
REVOKE INSERT ON testdb.* FROM 'alice'@'localhost';
3. 查看用户权限
sql
SHOW GRANTS FOR '用户名'@'主机';
示例:
sql
SHOW GRANTS FOR 'alice'@'localhost';
合理使用 GRANT 和 REVOKE 命令,可有效控制用户权限,保障数据库安全和稳定运行。