报错如下所示:

ERROR 2002 (HY000): Can't connect to MySQL server on '192.168.564.118'

1、新增mysql账号和密码

mysql> SELECT user, host FROM mysql.user WHERE user = 'root' AND host = '%';
+------+------+
| user | host |
+------+------+
| root | %    |
+------+------+
1 row in set (0.00 sec)

mysql> CREATE USER 'Mh'@'%' IDENTIFIED BY 'Mh@123456';
Query OK, 0 rows affected (0.02 sec)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'Mh'@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

2、检查 MySQL 服务状态

在 CentOS 服务器上确认 MySQL 服务正在运行,使用命令systemctl status mysqld检查服务状态。如果未运行,使用systemctl start mysqld启动服务。

3、检查 MySQL 配置

确认 MySQL 正在监听正确的 IP 地址和端口。查看 MySQL 配置文件 /etc/my.cnf,检查 bind-address 配置项:如果设置为 127.0.0.1,则只允许本地连接。可以将其设置为 0.0.0.0 以允许来自任何 IP 的连接,但要注意安全风险。(别忘记了保存退出“:wq!”)

[root@localhost ~]# sudo vi /etc/my.cnf

4、检查网络连接

检查 CentOS 服务器的防火墙设置,确保 MySQL 端口(默认是 3306)没有被阻止:firewall-cmd --state 查看防火墙状态。

如果防火墙正在运行,可以使用 firewall-cmd --permanent --add-port=3306/tcp 开放 MySQL 端口,然后使用 firewall-cmd --reload 重新加载防火墙规则。

5、连接Navicat

希望对你有所帮助,谢谢~

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐