MYSQL 用户权限
用户权限管理 SQL脚本
1.创建用户
CREATE USER 'scorpion'@'localhost' IDENTIFIED BY '123456';
flush privileges;
PARAMETER
'scorpion':用户名称
'localhost': 允许登陆的IP,这里只允许在本地登录,若要允许用户在所有的IP下都能访问 则替换为 '%'
'123456' : 密码
NOTE
mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。
2.授予用户权限
NOTE
grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。
2.1 授予单个表 单个权限
GRANT SELECT ON classbox0508.user to 'scorpion'@'localhost'
PARAMETER
classbox0508: 数据库名称
user: 数据表
'scorpion' : 用户名称
'localhost' : 用户地址
2.2 授予多张表权限
GRANT SELECT ON classbox0508.* to 'scorpion'@'localhost'
2.3 授予多个权限给表
中间用 , 分隔
GRANT INSERT,DELETE ON classbox0508.user to 'scorpion'@'localhost'
2.4 授予全部权限
ALL 和 ALL Privileges 有什么区别吗
GRANT ALL ON classbox0508.user to 'scorpion'@'localhost'
GRANT ALL privileges ON classbox0508.team to 'scorpion'@'localhost'
3. GRANT OPTION 允许用户授予自己的权限给别的用户
GRANT ALL privileges ON classbox0508.* to 'scorpion'@'localhost' WITH GRANT OPTION;
NOTE
这个特性一般用不到。实际中,数据库权限最好由 DBA 来统一管理。
4. REVOKE 撤销授权
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可
REVOKE ALL ON classbox0508.* FROM 'scorpion'@'localhost';
Reference Links
官方文档MySQL 5.6 Reference Manual