远程连接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
相关推荐:《Navicat for mysql使用图文教程》
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怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!