CentOS7.3远程连接mysql出现10038错误如何解决

CentOS7.3远程连接mysql出现10038错误如何解决_第1张图片
image.png

首先设置远程访问权限 在mysql中执行语句:

GRANT ALL PRIVILEGES ON * .* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

"." 允许远程访问的IP地址 .表示所有IP都可以根据root用户进行访问,123456就是mysql数据库密码,注意把空格去掉

flush privileges; //刷新MySQL的系统权限相关表­
quit; // 退出mysql

service mysqld restart #重启mysql命令

如果还是不行,就是防火墙的问题了。
CentOS7的防火墙默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤
1、关闭firewall:

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

2、iptables防火墙(这里iptables已经安装,下面进行配置,如果没有安装可先安装防火墙)

service iptables status #先检查是否安装了iptables
yum install -y iptables #安装iptables
yum update iptables #升级iptables(安装的最新版本则不需要)
yum install iptables-services #安装iptables-services

3、编辑iptables防火墙配置

vi /etc/sysconfig/iptables #编辑防火墙配置文件

下边是一个完整的配置文件:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

:wq! #保存退出

完成后执行下面的命令

systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动

你可能感兴趣的:(CentOS7.3远程连接mysql出现10038错误如何解决)