Can't connect to MySQL server error 111

http://stackoverflow.com/questions/1420839/cant-connect-to-mysql-server-error-111

I installed mysql server on linux box IP = 192.168.1.100 but when i try to connect to this IP it alway error(111). but use localhost and 127.0.0.1 is OK.

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> 

Connect from another machine it also error 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)

How difference between use localhost/127.0.0.1 and 192.168.1.100 in this case. I don't know how to connect to this database from another machine.

Help please. Thank.

share | improve this question

61% accept rate
 
Was this post useful to you?      

4 Answers

up vote 41 down vote accepted

It probably means that your MySQL server is only listening the localhost interface.

If you have lines like this :

skip-networking
bind-address = 127.0.0.1

In your my.cnf configuration file, you should comment them (add a # at the beginning of the lines), and restart MySQL.

Of course, to do this, you must be the administrator of the server.

share | improve this answer
 
obviously, he doesn't have the skip-networking line ;-) –  Michael Krelin - hacker  Sep 14 '09 at 10:54
feedback

111 means connection refused, which in turn means that your mysqld only listens to the localhostinterface.

To alter it you may want to look at the bind-address value in the mysqld section of your my.cnffile.

share | improve this answer
 
feedback

If all the previous answers didn't give any solution, you should check your user privileges.

If you could login as root to mysql then you should add this:

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 ;

Then try to connect again using mysql -ubeer -pbeer -h192.168.1.100. It should work.

share | improve this answer
 
1  
i don't think that user privileges related error would give error 111. –  ufk  Jun 5 '12 at 16:16
feedback

If you're running cPanel/WHM, make sure that IP is whitelisted in the firewall. You will als need to add that IP to the remote SQL IP list in the cPanel account you're trying to connect to.

share | improve this answer
 
feedback
"Can't connect to MySQL server on localhost 10061 unknown error"是一个常见的MySQL连接错误。这个错误通常表示无法通过指定的主机和端口连接到MySQL服务器。可能的原因包括以下几点: 1. MySQL服务器未运行:请确保MySQL服务器已经启动。你可以尝试重新启动MySQL服务来解决此问题。 2. 主机名或端口号错误:请确保你使用的是正确的主机名和端口号。默认情况下,MySQL服务器使用localhost作为主机名,端口号为3306。如果你使用了不同的主机名或端口号,请确认其正确性。 3. 防火墙阻止连接:防火墙设置可能会阻止与MySQL服务器的连接。请检查你的防火墙设置,确保允许从你的应用程序连接到MySQL服务器。 4. MySQL配置错误:有时候,MySQL服务器的配置文件可能存在问题,导致无法连接。你可以检查MySQL配置文件(通常是my.cnf或my.ini),确保其中的主机名和端口号与你尝试连接的一致。 5. MySQL授权问题:如果你使用了用户名和密码进行连接,可能是由于授权问题导致连接失败。请确保你使用的用户名和密码是正确的,并且具有足够的权限来连接到MySQL服务器。 如果以上方法都没有解决问题,你可以尝试在命令行中使用telnet命令来测试与MySQL服务器的连接。例如,使用以下命令测试连接到localhost的3306端口: ``` telnet localhost 3306 ``` 如果连接成功,你将看到一条欢迎消息。如果连接失败或超时,则表示存在其他问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值