一.MySQL的安全设置
1.用户管理
1.创建用户
create user 用户名 [identified by [password] '密码']
[,用户名 [identified by [password] '密码']…];
2.修改用户名
rename user 旧用户名 to 新用户名
[,user 旧用户名 to 新用户名…];
3.修改用户密码
set password for 用户名 = '新密码';
2.权限管理
1.授予权限
1.字段级别权限
grant 权限(列名[,列名…]) [,权限(列名[,列名…])…]
on table 数据库名.表名 | 视图名
to 用户 [,用户…]
[with grand option];
2.表级别别权限
grant 权限[,权限…]
on table 数据库名.表名 | 视图名
to 用户 [,用户…]
[with grand option];
3.存储程序级别权限
grant 权限[,权限…]
on function| procedure 数据库名.函数名 | 数据库名.存储过程名
to 用户 [,用户…]
[with grand option];
4.库级别权限
grant 权限[,权限…]
on 数据库名.*
to 用户 [,用户…]
[with grand option];
5.服务器级别权限
grant 权限[,权限…]
on *.*
to 用户 [,用户…]
[with grand option];
2.撤销权限
1.撤销所有权限
revoke all privileges,grant option from 用户 [,用户…];
2.撤销指定权限
revoke 权限[(列名[,列名…])] [,权限[(列名[,列名…])]…]
on *.* | 数据库名.* | 数据库名.表名 | 视图名
from 用户 [,用户…];
3.角色管理
1.创建角色
create role '角色名'@'主机名';
2.授予角色权限
类似于授予用户权限,只需要将grant语句中to后面的用户改为角色
3.授予用户角色
grant '角色名'@'主机名 [,'角色名'@'主机名…] to 用户 [,用户…];
#用户使用角色权限前必须先激活角色权限如"set global activate_all_roles_on_login = on"
4.撤销用户角色
revoke '角色名'@'主机名 [,'角色名'@'主机名…] from 用户 [,用户…];
5.删除角色
drop role '角色名'@'主机名 [,'角色名'@'主机名…];