今天突然远程登录一下MySQL发现,新建数据库时,出现Access denied for user ‘root’@’%’ to database ‘xxx’报错,让人感到非常困惑。这种情况以前并没有出现过,因此我开始在CSDN上搜索相关解决方案。
首先,我尝试使用mysql客户端登录root用户账号:
mysql -uroot -p密码
这个步骤让我能够成功登录创建,但是我还是想找出问题的根本原因。
经过一番研究,我发现这个问题的出现可能是由于MySQL的访问权限设置出现了问题。为了解决这个问题,我需要在MySQL的授权表中重新给root用户账号授权:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
执行发现还是有错,如下:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘identified by ‘root’ with grant option’ at line 1
根据错误提示是在IDENTIFIED附近出错了,干脆直接省略后面的语句直接执行如下:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;
发现问题解决了!
以上就是Mysql报错Access denied for user‘root‘@‘%to database ‘xxx‘问题的解决办法。