在mysql远程连接时出现ERROR 2003错误的很多种,下面我来给大家介绍两种解决此问题的方法,有需要的同学可参考。
- 不能链接到MySQL server
#问题代码
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.0.19'
解决办法:
这个原因就是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配置文件为:
# 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代码,屏蔽后的代码:
# 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
如果上面还不能解决可能是防火墙的问题了:
解决办法:关闭防火墙
linux下命令—>>
root@zou_Virtual_Machine:~# /sbin/service iptables stop ====stop fire wall
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: nat filter [ OK ]
Unloading iptables modules: [ OK ]
- 不允许登录,登录被拒
报错:1130-host … is not allowed to connect to this MySql server
或者
解决办法:
授权形式
比如账户为root,密码为root
mysql -u root -p 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;