解决远程连接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,或者直接关闭防火墙。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/9209

(0)
郭靖的头像郭靖
上一篇 2023年7月27日 下午4:02
下一篇 2023年7月28日 下午4:43

相关推荐

  • MySQL InnoDB调试死锁

    前提 1、在RR隔离级别下。2、查看间隙锁是否关闭区间锁(间隙锁,临键锁)是InnoDB特有施加在索引记录区间的锁,MySQL5.6可以手动关闭区间锁,它由innodb_locks_unsafe_for_binlog参数控制: show global variables like “innodb_locks%”; 3、show glo…

    2023年10月23日
    1.5K00
  • Centos7下配置mysql8.0.20

    mysql8.0.20安装完毕后使用默认密码登陆是无法进行操作的,需要修改默认密码才可以。 我们根据提示,使用ALTER USER修改密码,修改完成后,使用flush privileges; 命令刷新。 ALTER USER root@’localhost’ IDENTIFIED BY ‘Zhangsan@123’; 配置远程登录 mysql安装完成后,默认…

    2022年12月7日
    1.3K00
  • Linux在线yum方式安装mysql5.7(适用于mysql8.0)

    Linux下软件常见部署方式有三种:yum安装、rpm安装以及编译安装。由于离线、编译需要先下载多个文件再安装,步骤较多,所以整理了一下在线安装mysql的方法,文中系统为CentOS7.9版本。 1.配置好yum源,包括epel源 使用官方yum仓库,官方下载链接 2. 生成yum源缓存并查看mysql版本 从enable状态来看,默认启用的是最新8.0版…

    2023年1月1日
    1.6K00
  • Oracle用户和表被锁定解决方法

    1、用dba角色的用户登陆,进行解锁,先设置具体时间格式,以便查看具体时间 2、查看具体的被锁时间 3、解锁 4、查看是那个ip造成的test用户被锁 这样可知是上面10.69.1.11的ip尝试多次失败登陆造成的被锁 注: 一般数据库默认是10次尝试失败后锁住用户 1、查看FAILED_LOGIN_ATTEMPTS的值 2、修改为30次 3、修改为无限次(…

    2024年5月9日
    1.6K00
  • MySQL:想实现sql语句进行批量删除数据库或表,而引发的熬夜探究

    因为在自测过程中,创建了很多数据库,一个个手动删除属实有点对不起程序员这个身份,那么有没有简单的sql语句操作来进行批量删除数据库呢?于是便有了本篇文章 思路了解到数据库或表的信息都保存在MySQL内置的 information_schema数据库的SCHEMATA表中,因此是否可以通过like查询information_schema中的相关表名,拼接SQL…

    2023年12月21日
    1.5K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信