windows下navicat访问不了linux下mysql

问题代码代码

ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.0.19' (111) 
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.0.19' (111) 这个 原因就是Mysql数据库的默认配置文件my.cnf(linux下)中的bind-address默认为127.0.0.1,所以就算你创建了可以 remote访问的用户,你也不能使用mysql -h命令进行访问,若访问就会出现上出问题,因为此时Mysql只接受localhost,所以需要把bind-address屏蔽掉。 
my.cnf一般在/etc/mysql下面,如果不在使用locate my.cnf查找,修改前的my.cnf配置文件为: 
修改前的my.cnf配置文件代码 

# Instead of skip-networking the default is now to listen only on 
# localhost which is more compatible and is not less secure. 
bind-address = 127.0.0.1 
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
我们需要做的就是屏蔽这个bind-address代码,屏蔽后代码为: 
屏蔽后my.cnf配置文件代码 

# Instead of skip-networking the default is now to listen only on 
# localhost which is more compatible and is not less secure. 
#bind-address = 127.0.0.1 
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
现在你就可以用mysql -h命令进行你想做的操作了,如登录系统: 
登陆数据库代码 
mysql -h 192.168.0.19 -u root -p

2、防火墙允许端口(3306)请求通过

iptables -I INPUT -p tcp --dport 3306 -j ACCEPT;

iptables -I OUTPUT -p tcp --dport 3306 -j ACCEPT;

开启端口后,可用命令lsof -i :3306去检测,如果有输出,则端口已开放。

相关推荐