Can’t connect to MySQL server error 111

20
down vote
favorite

8

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.

mysql 
linux 
mysql-error-2003

share
|
improve this question

edited 
Jul 6 ’11 at 16:30

OMG Ponies

107k
13
107
191

asked 
Sep 14 ’09 at 10:47

bugbug

569
2
11
27

61% accept rate

 

Was this post useful to you?  
  

4 Answers

active
oldest
votes

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

answered 
Sep 14 ’09 at 10:53

Pascal MARTIN

132k
14
202
310

 

obviously, he doesn’t have the skip-networking line 😉 – 
Michael Krelin – hacker 
Sep 14 ’09 at 10:54

feedback


up vote
8
down vote

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

answered 
Sep 14 ’09 at 10:50

Michael Krelin – hacker

34.3k
38
68

 

feedback

up vote
2
down vote

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

edited 
Sep 13 ’11 at 10:16

Gilles

23.7k
5
36
77

answered 
Sep 12 ’11 at 21:55

xnome

21
1

 
1  

i don’t think that user privileges related error would give error 111. – 
ufk 
Jun 5 ’12 at 16:16

feedback

up vote
1
down vote

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

edited 
May 28 ’12 at 7:38

bfrohs

5,357
9
28

answered 
Apr 30 ’12 at 18:34

Dragos.

11
1

 

feedback

Read More: