1、排除网络或防火墙问题
a.看是否能ping通远程服务器,排除网络问题
b.检查端口 telnet 192.168.1.112 3306,如果连接失败,配置防火墙开启3306端口
vim /etc/sysconfig/iptables
-A INPUT -m state -state NEW -m tcp -p tcp -dport 3306 -j ACCEPT (允许3306端口通过防火墙)
/etc/init.d/iptables restart(或systemctl start iptables)
如果出现错误:-bash: /etc/init.d/iptables: No such file or directory(Failed to start iptables.service: Unit not found.)
2、检查mysql配置
通过netstat查看3306状态
netstat -apn|grep 3306
tcp6 0 0 127.0.0.1:3306 :::* LISTEN 13524/mysqld
.注意3306前面的地址,说明3306被绑定到了本地。检查mysql配置my.cnf里面绑定ip的地址
bind-address=addr
不配置或者IP配置为0.0.0.0,表示监听所有客户端连接。
3、检查用户访问权限
mysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON . TO root@"%" IDENTIFIED BY "root"; //为root添加远程连接的能力。
mysql>update user set Password = password('xxxxxx') where User='root';mysql>select Host,User,Password from user where User='root';
mysql>flush privileges; //刷新权限
mysql>exit //退出
重启MySQL:/etc/init.d/mysql restart
4、配置阿里云服务器端口