这篇文章主要介绍navicat连接数据库失败报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
以上是“navicat连接数据库失败报10038错误的解决方法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!