应用场景
mysql使用的时候,可能会遇到这种场景,mysql中有比较重要的表,不让一般用户访问,mysql中添加了一个新用户,不让该用户看到一些表,只给他分配一些他需要使用的表。来保护mysql中数据的安全。
操作步骤
1. 针对5.7以前的版本
第一步 在mysql中创建一个用户,语句如下:
insert into mysql.user(Host,User,Password) values(“%”,”xubin”,password(“11111”));
插入一个用户名为xubin,用户名密码为11111,%表示任何能ping通的地方都能访问
第二步,设置对应xubin用户的有权限的库,语句如下;
grant all privileges on user.* to xubin@localhost identified by ‘11111’;
user.*表示xubin用户下,有权限库是user,并且user下的所有表
2. 针对5.7及之后的版本
但是5.7及以上的版本,就不能这么做了 ,需要改成如下:
CREATE USER ‘xubin’@’%’ IDENTIFIED BY ‘11111’;
grant all on user.* to ‘xubin’@’%’ #设置xubin用户,拥有user库的权限,以及user库下的所有表
3. 备注
下面两句之前测试5.7版本的时候是需要执行的,后来发现好像不要执行了!在这里备注一下!!!
UPDATE mysql.user SET Grant_priv=’Y’, Super_priv=’Y’ WHERE User=’root’;
FLUSH PRIVILEGES;