无法连接到MySQL服务器错误111

我在Linux上安装了mysql服务器IP = 192.168.1.100,但是当我尝试连接到这个IP它总是错误(111)。 但使用本地主机和127.0.0.1是好的。

啤酒@啤酒笔记本电脑#ifconfig |  grep“inet addr”
           inet addr:127.0.0.1掩码:255.0.0.0
           inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0

 beer @ beer-laptop#mysql -ubeer -pbeer -h192.168.1.100
错误2003(HY000):无法连接到'192.168.1.100'(111)上的MySQL服务器

啤酒@啤酒笔记本电脑#mysql -ubeer -pbeer -hlocalhost
欢迎来到MySQL监视器。 命令以; 或\ g。
你的MySQL连接ID是160
服务器版本:5.1.31-1ubuntu2(Ubuntu)

input'help' 或'\ h'寻求帮助。 input'\ c'清除缓冲区。

 MySQL的> 

啤酒@啤酒笔记本电脑#mysql -ubeer -pbeer -h127.0.0.1
欢迎来到MySQL监视器。 命令以; 或\ g。
你的MySQL连接ID是161
服务器版本:5.1.31-1ubuntu2(Ubuntu)

input'help' 或'\ h'寻求帮助。 input'\ c'清除缓冲区。

 MySQL的> 

从另一台机器连接也错误111。

另一个@另一台笔记本电脑#mysql -ubeer -pbeer -h192.168.1.100
错误2003(HY000):无法连接到'192.168.1.100'(111)上的MySQL服务器

在这种情况下使用localhost / 127.0.0.1和192.168.1.100有什么区别。 我不知道如何从另一台机器连接到这个数据库。

请帮助。 谢谢。

这可能意味着你的MySQL服务器只能监听localhost接口。

如果你有这样的线路:

skip-networking bind-address = 127.0.0.1 

在你的my.cnfconfiguration文件中,你应该对它们进行注释(在行的开头添加一个#) ,然后重新启动MySQL。

当然,要做到这一点,您必须是服务器的pipe理员。

111表示连接被拒绝 ,这意味着你的mysqld只能监听localhost接口。

要改变它,你可能想看看my.cnf文件的mysqld部分中的bind-address值。

如果以前的所有答案都没有提供任何解决scheme,则应检查您的用户权限。

如果你可以以root身份login到mysql,那么你应该添加这个:

 CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY '***'; GRANT ALL PRIVILEGES ON * . * TO 'root'@'192.168.1.100' IDENTIFIED BY '***' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; 

然后尝试使用mysql -ubeer -pbeer -h192.168.1.100再次连接。 它应该工作。

如果您正在运行cPanel / WHM,请确保将IP列入防火墙白名单。 您也将需要将该IP添加到您尝试连接的cPanel帐户中的远程SQL IP列表。