mysql - 关于自建用户不能给别用户授权问题
背景:今天做mysql帐密可视化管理时,使用自建账号对别的账号进行授权,发现授权不了
问题:ERROR 1044 (42000): Access denied for user ‘ops’@’%’ to database ‘tx_domain’
mysql> GRANT SELECT ON `tx_domain`.* TO 'msg'@'%';
ERROR 1044 (42000): Access denied for user 'ops'@'%' to database 'tx_domain'
解决方案:
确定原因,使用root用户对ops用户进行ALL全部权限授权,但是ops用户还是没有GRANT权限,为什么呢,查询mysql权限表
mysql> select * from mysql.user where user='ops' and Host='%'\G;
*************************** 1. row ***************************
Host: %
User: ops
Grant_priv: N
## 结果只截取问题所在行
## 显示N权限,很明显了
mysql> update mysql.user set Grant_priv='Y' where user='ops' and Host='%';
mysql> flush privileges;
## 退出界面重新进入
mysql> GRANT SELECT ON `tx_domain`.* TO 'msg'@'%';
Query OK, 0 rows affected (0.02 sec)
注意:当前遇到的问题使用这方法能够处理,有可能遇到的问题不一样,如果有遇到不一样的问题欢迎来联系,也同时欢迎遇到不一样的问题并解决了的大佬分享解决思路