当前位置:首页 > Mysql教程 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-04 17:43:21 浏览: 评论:0 

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

问题代码:

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配置文件代码:

  1.  
  2. # Instead of skip-networking the default is now to listen only on  
  3. # localhost which is more compatible and is not less secure.  
  4. bind-address = 127.0.0.1  
  5. # 
  6. # Instead of skip-networking the default is now to listen only on 
  7. # localhost which is more compatible and is not less secure. 
  8. bind-address = 127.0.0.1 

我们需要做的就是屏蔽这个bind-address代码.屏蔽后代码为,屏蔽后my.cnf配置文件代码:

  1. #  
  2. Instead of skip-networking the default is now to listen only on  
  3. # localhost which is more compatible and is not less secure.  
  4. #bind-address = 127.0.0.1  
  5. #  --phpfensi.com 
  6. Instead of skip-networking the default is now to listen only on 
  7. # localhost which is more compatible and is not less secure. 
  8. #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下命令:

  1. [root@etl01 bin]# chkconfig --list | grep -i iptables  ====check fire wall 
  2. iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off 
  3. [root@etl01 bin]# /sbin/service iptables stop           ====stop fire wall 
  4. Flushing firewall rules: [  OK  ] 
  5. Setting chains to policy ACCEPT: nat filter [  OK  ] 
  6. 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 'root' 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;

Tags: 远程连接MySQL ERROR2003

分享到: