解决远程连接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

相关推荐

  • 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日
    44700
  • mysql的主从延迟问题主要原因及解决

    MySQL数据库主从的安装搭建方法 在实际的生产中,为了解决Mysql的单点故障已经提高MySQL的整体服务性能,一般都会采用主从复制。 比如:在复杂的业务系统中,有一句sql执行后导致锁表,并且这条sql的的执行时间有比较长,那么此sql执行的期间导致服务不可用,这样就会严重影响用户的体验度。 主从复制中分为主服务器(master)和从服务器(slave)…

    2022年6月14日
    84200
  • 手把手教你在Centos7.6环境下安装Redis(含详细图文)

    1.Linux安装redis 下载: wget http://download.redis.io/releases/redis-2.8.17.tar.gz 解压源码包 tar xzf redis-2.8.17.tar.gz 解压完成后的目录 redis-2.8.17 安装 执行完make命令后,在redis-2.8.17 的 src目录下会出现编译后的 re…

    2022年6月14日
    52000
  • Centos7下配置mysql8.0.20

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

    2022年12月7日
    35300
  • mysql innodb临时表btmp1文件太大

    某日生产环境(数据库实例)告警,磁盘使用率过高! 检查发现是由于mysql的data目录的ibtmp1文件太大,达到了30GB 一、ibtmp1文件是干嘛的? 就是用来存放临时表查询时的数据。 二、ibtmp1增长的原因是什么?主要与SQL有关,尤其是大量的分组聚合,排序,join查询SQL.通常如下情况会造成iptmp1上涨: 查询语句会先查询temp_t…

    2023年12月18日
    14100

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信