MySQL错误:Can’t connect to MySQL server (10060) 解决方案 - Felix-Zhang - 博客园

错误

![](https://cdn.nlark.com/yuque/0/2024/png/28066124/1718245117145-3c5a91df-d262-422f-8873-5a6632d00e6f.png)

检测虚拟机中的ip能否ping通

检测Docker中的mysql是否允许用户远程访问

1
2
3
4
5
6
7
--  mysql -u root -p

-- show databases;

-- use mysql;

-- select host,user from user
1
2
3
4
5
-- GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;     //任何远程主机都可以访问数据库  

-- FLUSH PRIVILEGES; //需要输入次命令使修改生效

-- EXIT //退出
1
2
3
4
5
-- use mysql;  

-- update user set host = '%' where user = 'root';

-- select host, user from user;

发现我的不是这个问题

检测虚拟机中的防火墙是否关闭端口

1
2
3
4
5
6
7
8
root@iZ2zee2l6djknfZ ~]# firewall-cmd --list-ports
20/tcp 21/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 8001/tcp 8001/udp
[root@iZ2zee2l6djknfZ ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@iZ2zee2l6djknfZ ~]# firewall-cmd --reload
success
[root@iZ2zee2l6djknfZ ~]# firewall-cmd --list-port
20/tcp 21/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 8001/tcp 8001/udp 3306/tcp

发现不是这个

检测虚拟机中的NAT设计的端口转发是否添加对应的虚拟机端口映射

> 这里如果是云服务器就检查对应安全组是否打开 >