Centos7远程连接MySQL5.6报错10060问题集锦

今天要远程连接另一台centos7上面的mysql5.6,出现了很多问题,主要就是10060,所以这里集中记录一下。

首先声明,我是小白,不懂可能服务器版本不同或者mysql版本不同所引起的差别,不过应该都差不多,所以就用我centos7+mysql5.6的配置来说;然后就是mysql安装配置这些就是铺垫了,我这里不涉及。

问题原因根据我今天解决的顺序进行排序:

原因1:检查root用户是否只设置了本地连接,具体检查方法如下:

进入数据库并选中mysql,然后查询里面的root用户的相关配置:

mysql -u root -p //进入数据库

然后输入密码

use mysql; //进入到mysql数据表中
select user,host from user; //查找表中所有用户及连接ip

根据结果,看root用户后面的host一列是否有%(有很多行都是root,只需要看有没有某一行的root后面是%),如果只出现了

user | 127.0.0.1

就说明只允许服务器连接,要改为:

user | %

具体命令如下:

update user set host='%' where user='root' and host='127.0.0.1'; //修改配置
flush privileges; //保存修改

注意上面那条命令要在mysql表下执行

原因2:没有放行端口

ummmm,很好理解,主要就是去你对应服务器的官网上面看有没有放行端口,考虑到有些和我一样的小白不知道在哪个位置检查,我给个图:

腾讯云:

Centos7远程连接MySQL5.6报错10060问题集锦_第1张图片

找到安全组,点击右边修改规则就会出现新建规则的界面,添加下面这一条即可:

这里要注意下:你的mysql开放的端口是哪个这里就添加哪个。(一般不可以修改的话都是3306,修改了的话,自己百度吧,或者评论问我也行,敲字好累)

阿里云:

Centos7远程连接MySQL5.6报错10060问题集锦_第2张图片

首先进入云服务器ECS界面,在该界面的左边找到网络与安全下面的安全组,在出现的页面右边点击“配置规则”,在出现的页面中点击“手动添加”,具体的信息如下:

Centos7远程连接MySQL5.6报错10060问题集锦_第3张图片

原因三:没有关闭防火墙

说的不太准确,准确的来说应该是防火墙不拦截3306默认端口,具体方法可以百度。因为我懒得配置,就直接关闭服务器的防火墙了(安全性不太高,不过反正我里面也没啥就不怕)

具体命令如下:

service mysqld status //不是必须输入的,就是用来查看当前的状态,如果在结果中出现了active,就说明防火墙打开的;如果是inactive,说明是关闭的

//如果防火墙正打开着,就要关闭,没打开当我没说.....
systemctl stop firewalld.service

原因四:如果安装了宝塔面板,要配置端口

如果安装了宝塔,要先登录然后在左边的安全里面把端口号加上去。

其他原因:

在解决问题的过程中,其实在网上还找到了很多其他的原因,比如:

1./ect/my.cnf里面设置了bind-address为127.0.0.1,要注释掉,不过我没有出现这个问题;

2.没有给root用户分配所有权限,要给root所有权限,我没有出现这个问题

......

特别注意:

有一些地方有点儿坑,比如:

1.我先在服务器官网配置了端口,然后再关闭防火墙,此时发现我的端口配置都没有了,所以要重新去官网把3306端口配置上才行

2.看到某些博客在配置端口的时候把出口方向也配置了,完全没必要配置,只配置入口就行(至少我是这样的)

你可能感兴趣的:(mysql,centos)