Ubuntu MySql连接错误码10060/10061的排查及解决方法

错误码10060一般是因为防火墙:
ufw allow 3306; //允许外部访问3306端口
ufw allow from 192.168.5.38; //允许此IP访问所有的本机端口
ufw status; //查看防火墙状态
ufw disable/enable; //关闭或打开防火墙
没装 ufw 就执行安装既可:apt-get install ufw;
错误码10061错误为配置原因:
1、先查看mysql运行状态
netstat -ntlp | grep -v tcp6; //查看端口状态
mysql -V; //查看mysql版本号
find / -name mysqld.cnf; // 查找 mysqld.cnf 的位置
如果端口为127.0.0.1:3306,解决办法:
mysql5.7 版本:
vi /etc/mysql/mysql.conf.d/mysqld.cnf; //将bind-address = 127.0.0.1 修改成 bind-address = 0.0.0.0
mysql5.7以前的版本:
vi /etc/mysql/my.cnf; //将bind-address = 127.0.0.1 修改成 bind-address = 0.0.0.0 ,或注释掉即可
service mysql restart; //重启mysql
netstat -ntlp | grep -v tcp6; //查看端口状态为0.0.0.0:3306即可
2、添加外部访问支持
mysql -uroot -p; //登录mysql
use mysql; //进入mysql数据库
select Host,User from user; //查看user表中root是否支持外部访问
Host                    User
localhost             root  //只支持本地
%                        root  //全部IP都允许
192.168.5.36      root  //只支持此IP
        grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; //授权
        flush privileges; //刷新该表即可
注:mysql 8.0以上版本添加用户并授权,可参考:mysql 8.0以上版本添加用户并授权