解决远程连接MySQL报错:2003 - Can‘t connect to MySQL server on ‘X.X.X.X‘ (10060 “Unknown error“)问题

 更新时间:2023年09月05日 09:55:28   作者:一水一禾一田  
这篇文章主要给大家介绍了解决远程连接MySQL报错:2003 - Can‘t connect to MySQL server on ‘X.X.X.X‘ (10060 “Unknown error“)问题的方案,文中有详细的解决步骤,需要的朋友可以参考下

问题

先看报错:

2003 - Can’t connect to MySQL server on ‘X.X.X’ (10060 “Unknown error”)。

意思是服务器远程连接出错:未知错误。

解决方案:

遇到这个问题,首先想到的是权限不够。那咱就给它赋权。

首先登录MySQL数据库:mysql -u用户名 -p密码;

然后:use mysql;

进入数据库后我们先看看mysql user初始的权限表长啥样,输入sql语句:

select Host,User from user;

有结果:

+-----------------------+------+
| Host                  | User |
+-----------------------+------+
| 127.0.0.1             | root |
| ::1                   | root |
| localhost             |      |
| localhost             | root |
| localhost.localdomain |      |
| localhost.localdomain | root |
+-----------------------+------+
6 rows in set (0.00 sec)

看到这里就比较明了了,由于我们是远程连接访问mysql,需要开放主机权限。这里我们将127.0.0.1改为%(%表示允许任意的host访问)。输入mysql语句:

UPDATE user SET Host = '%' WHERE Host = '127.0.0.1' AND User = 'root';
flush  privileges;

回头看看有没有改成功:

+-----------------------+------+
| Host                  | User |
+-----------------------+------+
| %                     | root |
| ::1                   | root |
| localhost             |      |
| localhost             | root |
| localhost.localdomain |      |
| localhost.localdomain | root |
+-----------------------+------+
6 rows in set (0.00 sec)

好了,权限修改成功了。我们就可以尝试连接数据库了。

是的,你没看错,它还是不成功,问题出在哪呢。想了好久,突然就在一念之间:会不会是防火墙的问题?

于是我尝试关闭防火墙,然后连接,来不及反应,很快呀,直接连接成功。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在是连接成功了,但是我关闭防火墙之后又连不了了,咱也并不能永久关闭防火墙吧。

于是我查了查,应该是端口没有开放,导致的连接失败。输入命令:

systemctl start firewalld.service
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

后面就可以正常连接了。

总结

连接失败是所用主机没有访问远程服务器的权限,这里可以通过修改权限解决。但是在使用MySQL服务前需要开放端口号3306,或者直接关闭防火墙。

到此这篇关于解决远程连接MySQL报错:2003 - Can‘t connect to MySQL server on ‘X.X.X.X‘ (10060 “Unknown error“)问题的文章就介绍到这了,更多相关MySQL报错2003 Can‘t connect to MySQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅析drop user与delete from mysql.user的区别

    浅析drop user与delete from mysql.user的区别

    本篇文章是对drop user与delete from mysql.user的区别进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • MYSQL数据库使用UTF-8中文编码乱码的解决办法

    MYSQL数据库使用UTF-8中文编码乱码的解决办法

    这篇文章主要介绍了MYSQL数据库使用UTF-8中文编码乱码的解决办法,需要的朋友可以参考下
    2015-10-10
  • Mysql主从延时图解方法

    Mysql主从延时图解方法

    我们知道,一个服务器开放N个链接给客户端连接的,就会有大并发的更新操作,但是从服务器的里面读取binlog线程得仅有一个,当某个SQL在从服务器上执行的时间稍长 或由某个SQL要锁表就会导致主服务器的SQL大量积压,未被同步到从服务器,就导致了主从不一致,也就是主从延迟
    2022-01-01
  • 为什么说MySQL单表数据不要超过500万行

    为什么说MySQL单表数据不要超过500万行

    在本篇文章里小编给大家整理了一篇关于为什么说MySQL单表数据不要超过500万行的相关内容,有兴趣的朋友们阅读下吧。
    2019-06-06
  • MySQL8设置自动创建时间和自动更新时间的实现方法

    MySQL8设置自动创建时间和自动更新时间的实现方法

    在实际应用中,我们时常会需要用到创建时间和更新时间这两个字段,下面这篇文章主要给大家介绍了关于MySQL8设置自动创建时间和自动更新时间的实现方法,需要的朋友可以参考下
    2023-03-03
  • mysql字符串函数详细汇总

    mysql字符串函数详细汇总

    这篇文章主要介绍了mysql字符串函数详细汇总,字符串函数主要用来处理数据库中的字符串数据,更多相关内容需要的朋友可以参考一下
    2022-07-07
  • MySQL数据表基本操作实例详解

    MySQL数据表基本操作实例详解

    这篇文章主要介绍了MySQL数据表基本操作,结合实例形式较为详细的分析了MySQL针对数据表的基本创建、表结构查看、修改、删除等相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • Mysql双主搭建的方法步骤

    Mysql双主搭建的方法步骤

    本文主要介绍了Mysql双主搭建的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • MYSQL锁表问题的解决方法

    MYSQL锁表问题的解决方法

    这篇文章主要介绍了MYSQL锁表问题的解决方法,结合实例形式分析了MySQL锁表问题的常见情况与相应解决方法,需要的朋友可以参考下
    2016-03-03
  • Mysql关联查询的几种实现方式

    Mysql关联查询的几种实现方式

    这篇文章主要介绍了Mysql关联查询的几种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04

最新评论