远程连接MySQL报错ERROR 2003解决办法

在mysql远程连接时出现ERROR 2003错误的很多种,下面我来给大家介绍两种解决此问题的方法,有需要的同学可参考。

问题代码代码

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

如果上面还不能解决可能是防火强的问题了


1.mysql 错误 ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost'
    

解决办法:关闭防火墙,linux下命令

[root@etl01 bin]# chkconfig --list | grep -i iptables  ====check fire wall

iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off

[root@etl01 bin]# /sbin/service iptables stop           ====stop fire wall

Flushing firewall rules: [  OK  ]

Setting chains to policy ACCEPT: nat filter [  OK  ]

Unloading iptables modules: [  OK  ]

 

2.报错:1130-host ... is not allowed to connect to this MySql server

 

解决办法:

 

授权形式

比如账户为root,密码为root

use mysql;

用root账户从任何主机上访问mysql数据库了

grant all privileges on *.* to 'root'@'%' identified by 'admin9999' with grant option;

如果你想允许用户zz从ip为192.168.1.3的主机连接到mysql服务器,并使用123456作为密码

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY '123456' WITH GRANT OPTION;


你可能感兴趣的:(Mysql)