博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL 连接错误Can't connect to MySQL server on (61)
阅读量:5233 次
发布时间:2019-06-14

本文共 1364 字,大约阅读时间需要 4 分钟。

链接时忽然遇到一个问题。Mac Navicat链接时报错Can’t connect to  server on ‘xx.xx.xx.xx’ (61)。

PS. win版Navicat 报错Can’t connect to MySQL server on ‘xx.xx.xx.xx’ (10038)

其中xx.xx.xx.xx是ip地址。

1、查看该用户是否有远程登录的权限

===

mysql> SELECT * FROM mysql.user;+-----------+-----------+| User | Host |+-----------+-----------+| M | % || mysql.sys | localhost || root | localhost || tommy | % || showhilllee | % |+-----------+-----------+5 rows in set (0.00 sec)

很显然,M是允许从其它服务器登陆的。

2、查看 MySQL Server 是不是监听了 3306 端口

===

执行命令netstat -tulpen

netstat -tulpenActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program nametcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 16801 1507/sshdtcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 0 17222 1970/mastertcp6 0 0 :::3306 :::* LISTEN 27 46396 22054/mysqldtcp6 0 0 :::22 :::* LISTEN 0 16803 1507/sshdtcp6 0 0 ::1:25 :::* LISTEN 0 17223 1970/masterudp 0 0 0.0.0.0:68 0.0.0.0:* 0 49600 22999/dhclientudp 0 0 0.0.0.0:43504 0.0.0.0:* 0 48850 22999/dhclientudp6 0 0 :::47875 :::* 0 48851 22999/dhclient

我在这里也没有问题。

这里如果没有监听3306端口或者只监听了localhost(0.0.0.0表示监听所有),则在my.cnf添加下面这一行

bind-address = 0.0.0.0

3、如果服务器是 CentOS7,将 MySQL 服务加入防火墙

===

执行命令

sudo firewall-cmd --zone=public --permanent --add-service=mysql

返回success。然后继续执行

sudo systemctl restart firewalld

我的重启防火墙之后就能正常访问了。

转载于:https://www.cnblogs.com/xinjie10001/p/6279255.html

你可能感兴趣的文章