mysql之用户三权分立

目标:
管理员账号(root):拥有所有操作权限
普通系统账号:根据实际需求而定,本人设置的用户拥有所有权限,除了授权权限
审计账号:对所有数据库及表只有查看权限(show databases,show view,select)
实现步骤:
此处是基于脚本的,所以以下sql语句均为在命令行执行的形式,此处只列举审计用户的操作
1)创建审计用户

mysql -uroot -proot -e "create user 'shenji'@localhost identified by 'shenji'" 2>/dev/null(不输出提醒信息)
mysql -uroot -proot -e "create user 'shenji'@‘%’ identified by 'shenji'" 2>/dev/null

2)授权(一定要给本地主机和其他主机针对此用户分别授权)

mysql -uroot -proot -e "grant show databases,show view,select  on *.* to 'shenji'@'localhost'" 2>/dev/null
mysql -uroot -proot -e "grant show databases,show view,select  on *.* to 'shenji'@'%'" 2>/dev/null

前边创建用户时设置了密码,此处不必再用identified来指定密码了,亲测会报语法错误
3)刷新

mysql -uroot -proot -e "flush privileges" 2>/dev/null

至此操作完成,shenji用户登陆后只有查看的权限,无权创建,修改,删除!

发布了121 篇原创文章 · 获赞 60 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/weixin_43279032/article/details/104004215
今日推荐