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去检测,如果有输出,则端口已开放。