mysql用户授权
1. grant授权:
grant 权限列表 on 库名.表名 to 用户名@"客户端地址" identified by "密码" with grant option;
with grant option 有授权权限,可选项。
all --------所有权限
usage ------无权限
select,update,insert --------个别权限
select,update(字段1,....,字段N)----指定字段
*.* -----所有库所有表
库名.* -------一个库
库名.表名 ------一张表
- 授权时自定义要有标识性。
- 存储在MySQL库的user表里
% ----所有主机
192.168.2.% ----网段内的所有主机
192.168.2.1 ----一台主机
localhost ----数据库服务器本机
应用示例1:
- 创建用户mydb1,对所有库所有表有完全权限。
- 允许从任何客户端连接,密码:123456
- 且有授权权限。
grant all on *.* to mydb1@"%" identified by "1234" with grant option;
应用示例2:
- 创建admin用户,允许客户端192.168.2.0/24 网段连接,对db3库的b3表有查询权限,密码是:123456
- 创建用户admin2,允许本机连接 ,允许db3库的所有表有查询、更新、插入、删除记录权限,密码 123456
grant select on db3.b3 to admin@"192.168.2.%" identified by "123456";
grant select,update,insert,delete on db3.* to admin@"localhost" identified by "123456";
2. 撤销权限
revoke 权限列表 on 库名.表名 from 用户名@"客户端地址";
应用实例:
- 撤销 admin用户在db3.b3表中的select 权限。
mysql> revoke select on db3.b3 from admin@"192.168.2.%";