解决远程连接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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL长字符截断的实现示例

    MySQL长字符截断的实现示例

    本文主要介绍了MySQL长字符截断的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • mysql workbench 设置外键的方法实现

    mysql workbench 设置外键的方法实现

    在MySQL Workbench中设置外键属性是非常方便的,本文就来介绍一下mysql workbench 设置外键的方法实现,具有一定能的参考价值,感兴趣的可以了解一下
    2024-01-01
  • SQL字符串以及数字常用操作汇总

    SQL字符串以及数字常用操作汇总

    本篇文章是对SQL字符串以及数字的常用操作进行了详细的总结与分析,需要的朋友参考下
    2013-06-06
  • MySQL生僻字插入失败的处理方法(Incorrect string value)

    MySQL生僻字插入失败的处理方法(Incorrect string value)

    最近,业务方反馈有个别用户信息插入失败,报错提示类似Incorrect string value:"\xF0\xA5 .....看这个提示应该是字符集不支持某个生僻字造成的,需要的朋友可以参考下
    2017-05-05
  • CentOS7下二进制安装mysql 5.7.23

    CentOS7下二进制安装mysql 5.7.23

    这篇文章主要为大家详细介绍了CentOS7下二进制安装mysql 5.7.23,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • MySQL DBA 常用手册小结

    MySQL DBA 常用手册小结

    MySQL DBA 常用手册小结,使用mysql的朋友可以参考下。
    2011-11-11
  • PHP中常用的几个 mysql操作

    PHP中常用的几个 mysql操作

    本篇文章是对关于php操作mysql执行数据库查询的一些常用操作进行了详细的汇总介绍,非常的细致全面,也很简单,需要的朋友参考下
    2015-04-04
  • Mysql查询以某"字符串"开头的查询方式

    Mysql查询以某"字符串"开头的查询方式

    这篇文章主要介绍了Mysql查询以某"字符串"开头的查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Mysql 用户权限管理实现

    Mysql 用户权限管理实现

    MySQL 是一个多用户数据库,具有功能强大的访问控制系统,可以为不同用户指定不同权限。本文就来介绍一下Mysql 用户权限管理实现,感兴趣的可以了解一下
    2021-05-05

最新评论