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

我在 linux box IP = 192.168.1.100上安装了 mysql 服务器,但是当我尝试连接到这个 IP 时总是出错(111)。但是使用 localhost 和127.0.0.1就可以了。

beer@beer-laptop# ifconfig | grep "inet addr"
inet addr:127.0.0.1  Mask: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
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.100' (111)


beer@beer-laptop# mysql -ubeer -pbeer -hlocalhost
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 160
Server version: 5.1.31-1ubuntu2 (Ubuntu)


Type 'help;' or '\h' for help. Type '\c' to clear the buffer.


mysql>


beer@beer-laptop# mysql -ubeer -pbeer -h127.0.0.1
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 161
Server version: 5.1.31-1ubuntu2 (Ubuntu)


Type 'help;' or '\h' for help. Type '\c' to clear the buffer.


mysql>


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

another@another-laptop# mysql -ubeer -pbeer -h192.168.1.100
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.100' (111)

本例中使用 localhost/127.0.0.1和192.168.1.100的区别。 我不知道如何从另一台机器连接到这个数据库。

救命啊。 谢谢。

489747 次浏览

111表示 拒绝连接,这又意味着 mysqld 只监听 localhost接口。

要修改它,您可能需要查看 my.cnf文件的 mysqld部分中的 bind-address值。

这可能意味着您的 MySQL 服务器只监听本地主机接口。

如果你有这样的台词:

bind-address = 127.0.0.1

在您的 my.cnf配置文件中,您应该注释它们 (在行的开头加一个 #),并重新启动 MySQL。

sudo service mysql restart

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

如果之前所有的答案都不能解决问题, 你应该检查一下你的用户权限。

如果你能以 root登录 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 列表中。