linux数据库连接sqlyonng数据库报错2003 连接不上数据库

MySQL 连接错误Can’t connect to MySQL server on (61)
链接数据库时忽然遇到一个问题。Mac Navicat链接时报错Can’t connect to MySQL 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 -tulpen

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 16801 1507/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 0 17222 1970/master
tcp6 0 0 :::3306 ::😗 LISTEN 27 46396 22054/mysqld
tcp6 0 0 :::22 ::😗 LISTEN 0 16803 1507/sshd
tcp6 0 0 ::1:25 ::😗 LISTEN 0 17223 1970/master
udp 0 0 0.0.0.0:68 0.0.0.0:* 0 49600 22999/dhclient
udp 0 0 0.0.0.0:43504 0.0.0.0:* 0 48850 22999/dhclient
udp6 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
我的重启防火墙之后就能正常访问了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值