连接远程mysql数据库失败(10038)解决办法

远程连接mysql(10038)的问题解决

1、用户权限问题

连接linux,登录数据库:mysql -uroot -p

这里写图片描述

修改root用户远程登录权限:
想myuser使用mypassword从任何主机连接到mysql服务器的话
myuser是你的用户名,mypassword是你的密码

use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
flush privileges;
quit

这里写图片描述

2、my.cnf文件配置问题
将选项skip-networking注释掉(注:有的资料上说还要讲bind-address设置成127.0.0.1,我的配置文件中反正没看到这句话,也就没有设置。这个选项是用来设置可以进行外部访问Mysql的IP,有一个过滤的作用,也没有必要设置)。

skip-networking

单机运行MySQL使用skip-networking关闭MySQL的TCP/IP连接方式,开启该选项后就不能远程访问MySQL

bind-address

为安全考虑希望指定的IP访问MySQL,可以在配置文件中增加bind-address=IP,前提是关闭skip-networking

vi /etc/my.cnf

这里写图片描述

保存退出
esc
:wq

3、去看看防火墙有没有屏蔽掉3306端口。Centos系统的话,在 /etc/sysconfig/iptables 中,有没有这样一句话:
-A INPUT -p tcp -m tcp –dport 3306 -j ACCEPT没有就加上,或者后面的ACCEPT是DROP,将改成ACCEPT就行了

vi /etc/sysconfig/iptables

保存退出
esc
:wq

这里写图片描述

4、重启防火墙和mysql
service iptables restart
service mysql restart

猜你喜欢

转载自blog.csdn.net/CsdnGame/article/details/82109624
今日推荐