一、用户权限指定导库:
1 新建用户
// root 用户登陆 MySQLmysql -uroot -pEnter password:// 新建用户mysql>insert into mysql.user(Host,User,Password) values("localhost","buff",password("buff"));// 刷新系统权限表mysql>flush privileges;
这样就创建了一个名为:buff,密码为:buff 的用户。
2 登陆测试
mysql>exit// 用户 buff 登陆 MySQLmysql -ubuff -pEnter password:mysql>
说明新建的用户 buff 登陆成功。
3 用户授权
// root 用户登陆 MySQLmysql -uroot -pEnter password:// 为用户 buff 创建一个数据库 bluebuffmysql>create database bluebuff;// 授权用户 buff 拥有数据库 bluebuff 的所有权限mysql>grant all privileges on bluebuff.* to buff@localhost identified by 'buff';mysql>flush privileges;
4 登录测试
// 用户 buff 登陆数据库mysql -ubuff -pEnter privileges:// 显示数据库mysql>show databases;
结果如下图所示,说明为用户 buff 授权成功
二、用户授权到指定数据库的某张表
与数据库授权步骤一样只是这里需要调整
mysql>grant all privileges on bluebuff.表名to buff identified by 'buff';//把原来的*修改为表名即可
注意:若原本想对表进行授权,结果对整个库授权了,此时需要调整用户的权限,需要 删除账号同时删除权限:1.删除用户,2.删除用户的权限
命令如下:
mysql>Delete FROM user Where User='test' and Host='localhost';
mysql>flush privileges;
删除账户及权限:>drop user 用户名@'%';//远程访问账号
>drop user 用户名@ localhost; //本地服务器授权
若不删除权限,你会发现新建同样的账号还是对数据库授权,而没有对表进行授权,即使使用了(grant all privileges on bluebuff.表名to buff identified by 'buff';)但是还是对库进行授权。而不是对指定的表进行授权。
参考链接:
https://www.cnblogs.com/afee666/p/6839585.html
https://www.cnblogs.com/wanghetao/p/3806888.html
https://zhidao.baidu.com/question/1046129103181384259.html