Ps:p.%中的ip是指的什么 ip ,可客户端的 ip 还是服务端的 ip ?此时的%指的是什么?
ip 指的是客服端的ip;
%
比如说 192.168.1.%:表示 192.168.1.% 可以访问,192.168.1.10%,192.168.1.20%,192.168.1.30%等,我都可以访问。
如果说只有一个 % ,那么表示我所有的 ip 都是可以访问的。
1.创建一个用户并给此用户一个查询权限
#在127.0.0.1连接的demo数据库中创建一个chenyuchen的用户,并给了他一个查询的权限,密码为123456 grant select on demo.* to 'chiyuchen'@'127.0.0.1.%' identified by '123456' with grant option;
对应mysql数据的 db 表和 user 表
2.在连接数据库显示此用户的所有权限
#在127.0.0.1连接的demo数据库中查询chiyuchen用户的所有权限信息 show grants for 'chiyuchen'@'127.0.0.1.%';
右键复制连接测试:
测试表中数据
测试查看权限ok
测试删除权限err:
测试更新权限err:
3.删除某个用户的查询权限
#删除某个用户的查询权限 revoke select on demo.* from 'chiyuchen'@'127.0.0.1.%';
4.只给用户某个表中的某几个列的查看权限
#只允许用户查看brand中的id和brand_name字段 grant select (id,brand_name) on demo.brand to 'chiyuchen'@'127.0.0.1.%';
对应mysql数据的 db 表、user 表、tables_priv 表和 columns_priv 表
5.创建一个用户
#创建一个无密码的用户 create user 'jinhuiliu';
6.把A用户的权限给B用户
#赋权:把chiyuchen用户的权限给jinhuiliu(Ps:5.7版本后才有的) grate proxy on 'chiyuchen' to 'jinhuiliu';
对应 mysql 数据库中的 proxies_priv 表: