通过root账号远程连接数据库创建用户,并为新建用户授权时,报错:
Access denied for user 'root'@'%' to database 'test'
通过 show grants for root; 查看root用户权限如下:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*E74858DB86EBA20BC33D0AECAE8A8108C56B17FA'
检查发现缺少 “WITH GRANT OPTION”。
通过root账号在mysql所在服务器上登录,并执行如下SQL:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*E74858DB86EBA20BC33D0AECAE8A8108C56B17FA' WITH GRANT OPTION
再次通过root账号远程连接,可以授权了,问题解决。