但行好事
莫论前程❤

Navicat连接mysql报错:Can’t connect to MySQL server on ‘140.143.5.20 ‘(10061)

环境:Ubuntu 16.4

​ mysql 5.7.21

当我使用Navicat连接我的云服务器上的mysql数据库时,报错:

Can't connect to MySQL server on '140.143.5.20 '(10061 "Unknown error");
  • 检查mysql服务是否启动.
  • 查看防火墙是否开放3306端口
# 查看端口开启状态
sudo ufw status
# 开启某个端口,
sudo ufw allow 3306
# 开启/关闭/reload防火墙
sudo ufw enable/disable/reload
# 禁止外部某个端口比如80
sudo ufw delete allow 80
# 查看端口ip
netstat -ltn
  • netstat -ntl
ubuntu@VM-0-5-ubuntu:~$ netstat -ltn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN     
tcp6       0      0 :::21                   :::*                    LISTEN 

端口以开放

  • 检查腾讯云平台安全组
  • 查看该用户是否有远程登录的权限
mysql> SELECT User, Host FROM mysql.user;
+-----------+-----------+
| User      | Host      |
+-----------+-----------+
| root      | %         |
| mysql.sys | localhost |
| root      | localhost |
| Laily     | %        |
| ttt       | %        |
+-----------+-----------+
5 rows in set (0.00 sec)

显然root有登录权限

  • #### 查看 MySQL Server 是不是监听了 3306 端口
ubuntu@VM-0-5-ubuntu:~$ netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN     
tcp6       0      0 :::21                   :::*                    LISTEN 

这里如果没有监听3306端口或者只监听了localhost即127.0.0.1(0.0.0.0表示监听所有),则在/etc/mysql/mysql.conf.d/mysqld.cnf,将127.0.0.1改成0.0.0.0

[mysqld]
# 允许所有人连接服务
bind-address = 0.0.0.0

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

[root@centos-linux ~]# sudo firewall-cmd --zone=public --permanent --add-service=mysql
success
[root@centos-linux ~]# sudo systemctl restart firewalld

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

赞(2) 打赏
未经允许不得转载:刘鹏博客 » Navicat连接mysql报错:Can’t connect to MySQL server on ‘140.143.5.20 ‘(10061)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏