赞
踩
mysql5.7 即 mysql7.0的版本使用以下方法
# 添加用户:
insert into mysql.user(Host,User,authentication_string,ssl_cipher,x509_issuer,x509_subject) values ("%","scantest",password("jitadmin#@"),'','','');
#授权:
grant select on appscan.* to 'scantest'@'%'; #只想让当前用户看到appscan库。切只有查询功能,不能执行更新,删除等操作。
#刷新:
flush privileges;
#查看授权情况
SHOW GRANTS FOR scantest;
#不让要此用户的话,也可以删除删除用户:
DROP USER scantest;
mysql5.8 即 mysql8.0的版本使用以下方法
# 添加用户:
insert into mysql.user(Host,User,authentication_string,ssl_cipher,x509_issuer,x509_subject) values ("%","zhydtest",'','','',''); //先不设置密码,即authentication_string为空串
#给 添加的用户更新密码
ALTER USER 'zhydtest'@'%' IDENTIFIED WITH mysql_native_password BY 'jitadmin#@';
或
ALTER USER 'zhydtest'@'localhost' IDENTIFIED WITH mysql_native_password BY 'jitadmin#@';
上述执行完毕后,mysql.user表的authentication_string字段内容就不是空串了,里面有加密的登录密码了。
#授权:
grant select on appscan.* to 'zhydtest'@'%'; #只想让当前用户看到appscan库。且只有查询功能
grant select,delete on appscan.* to 'zhydtest'@'%'; #只想让当前用户看到appscan库。且只有查询功能和删除功能。
grant select,update,delete on appscan.* to 'zhydtest'@'%'; #只想让当前用户看到appscan库。且只有查询功能和更新,删除功能。
grant select,insert,update,delete on appscan.* to 'zhydtest'@'%'; #只想让当前用户看到appscan库。增删改查功能都有。
#回收权限
revoke select,insert,update,delete on appscan.* from 'zhydtest'@'%';
注意:授权或者回收 之后必须flush privileges;否则不能立即生效。
#刷新:
flush privileges;
#查看授权情况
SHOW GRANTS FOR zhydtest;
#不让要此用户的话,也可以删除删除用户:
DROP USER zhydtest;
注意:这里的'zhydtest'@'%' 或'zhydtest'@'local' 的意思是:mysql库下的user表中的,user列和host列的拼在一起中间再加一个@。user列为数据库登录用户名,host列表示登录的机器。%:表示任意机器。localhost:表示当前安装mysql的那台机器。
select user,host,authentication_string from mysql.user;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。