ERROR 2003 (HY000): Can't connect to MysqL server on 'x.x.x.x' (111)
A: 原因是MysqL考虑到安全因素,默认配置只让从本地登录
打开 /etc/MysqL/my.cnf
文件,找到 bind-address = 127.0.0.1
修改为 bind-address = 0.0.0.0
重启MysqL : sudo /etc/init.d/MysqL restart
可参考:
> I've already check my /etc/my.cnf file for a "binding" > line. Its not > there. I also found an item online that indicated > adding: > Look for the option "skip-networking". This disables TCP/IP so the server only accepts local connections via the Unix socket. This sounds1 like your situation. Note that a "Could not connect" error means just that. If the problem was related to user privileges you would get an "access denied" error.
Q: 还一种情况出现类似下面的错误:
ERROR 1045 (28000): Access denied for user 'test'@'x.x.x.x' (using password: NO)
在本地用 root 登录: MysqL -u root -p
修改 MysqL 数据库中 user
表中 对应用户名的 Host
字段,将 localhost
改为 %
use MysqL; update user set Host = '%' where User = 'username';