排查问题过程:
1.首先保证在服务器中3306的端口已经打开;
2.在服务器中ping确认一遍;
解决步骤:
1、修改配置文件:sudo gedit /etc/mysql/my.cnf
查找到bind-address,将 bind-address=127.0.0.1 修改为 bind-address = 0.0.0.0 ,以允许任何IP来访问MySQL服务。
2、重启MySQL服务:sudo /etc/init.d/mysql restart
3、登录MySQL数据库,给需要远程访问的用户授权:
//先登陆数据库,输入密码
# mysql -u root -p
mysql> grant all privileges on test.* to root@"%" identified by "123456" with grant option;
本次授权root用户远程访问test数据库的权限,如果你想授权所有数据库,则用*来代替test,就表明全部数据库。
4、刷新配置,使权限立即生效:
mysql> flush privileges;
这时,通过物理主机的MySQL客户端就可以正常登录了。
另外:
如果是阿里云或者腾讯云的镜像市场【微柳的ubuntu系统】,按下面操作:
# mysql -uroot -p
MySQL [(none)]> grant all privileges on db_name.* to db_user@’%’ identified by ‘db_pass’; #授权语句,特别注意有分号
MySQL [(none)]> flush privileges;
MySQL [(none)]> exit; #退出数据库控制台,特别注意有分号
原文参考:https://blog.csdn.net/veechange/article/details/51733914 。