BugMysql:Access Denied for user 'root'@'localhost'
终于将困扰了很长时间的mysql的Bug解决了。朋友在macOS上的mysql每次进入的时候都会弹出Access denied......
的错误提示,经过长时间的上网搜索未果,今天终于有机会将其解决。
我在Ubuntu上部署mysql的时候发现,如果没有sudo权限的话,直接输入mysql -u root -p
进入mysql的话,即使密码正确也是会access denied
,只要又sudo权限就能进入,所以mysql的root也是需要os的root权限的。由于我想远程从本地的可视化database
navigator远程对数据库进行操作,如果想要连接到root,就会提示access denied
,究其原因还是因为ssh连接到远程服务器上的时候不会给sudo权限。这个时候我们就只能够新创建一个user,给这个user近似root的权限,来达到全程操作的效果。
首先,打开mysql路径下的my.cnf,找到bind-address这一行,改为
1 | bind-address=0.0.0.0 |
接下来sudo mysql -u root -p
进入mysql,然后输入以下命令
1 | CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; |
然后就可以用新创建的这个user进行远程访问数据库了
参考资料