Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am facing problem with connecting MySql database on the other machine on the same network.

Could not connect to the specified instance. MySql error number 1130 Host 'abc' is not allowed to connect to this MySql server (Pinging ok time 1-3 ms ttl =128)

I have check out the followings:

Tcp/IP enabled RegEdit under hlocal machine .... parameters .. maxUserpORT And timedelay.. Grant all . to 'root'@'Myipaddress' please help to the earliest..

share|improve this question

migrated from Oct 2 '09 at 7:39

This question came from our site for professional and enthusiast programmers.

Perhaps is a more appropriate place to ask your question. – Anax Oct 2 '09 at 7:16
I think there is nothing wrong to help on this site as well??? – Ankur Sachdeva Oct 2 '09 at 7:17
I can't see how your questions is programming related. – Frank Bollack Oct 2 '09 at 7:20
Do you get an error message that might help diagnose the problem? Exactly what are the symptoms? – VolkerK Oct 2 '09 at 7:22
@Ankur Sachdeva: "I think there is nothing wrong to help on this site as well???" - Read Frank Bollack's message and this site's faq as well. And by the way, this is not an Information Bureau; Start accepting answers other people give you and spend some of your time answering other people's questions as we all do, or you won't get answers for much too long. – Anax Oct 2 '09 at 7:30

The error message you're getting shows that you correctly made the connection to port 3306 on the remote server. Your network settings are therefore fine.

What you have is an ACL problem - "Host 'abc' is not allowed to connect to this MySql server".

I'm a little rusty on MySQL ACLs, but instead of granting access to 'root'@'my.ip.address', try granting it to 'root'@'abc'

share|improve this answer
alternatively, try 'root'@'%' instead. – sybreon Oct 2 '09 at 13:51
Using root to connect to a DB is horrible practice. Root should only be used for server maintenance by a qualified admin. A specific mysql user and password should be assigned to the database(s) in question, along with the bare minimum permissions required to do everything needed. – churnd Oct 2 '09 at 15:34
@churnd - yes, indeed, you're right. – Alnitak Oct 2 '09 at 18:15

I do not know about running MySQL on Windows, but on *nix machines you have to open up MySQLs config file (my.cnf) and tell MySQL daemon to listen an all IP addresses on your machine, not only localhost.

In MySQL 5.0.51 you have:

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           =
share|improve this answer
the error message clearly shows that the TCP setup is OK - the error message text has come from the far end. If it wasn't listening the error would have been 'connection refused'. – Alnitak Oct 2 '09 at 7:56

First, create an ACL for a user account to test connectivity.

GRANT SELECT ON test.* TO testuser@'%' IDENTIFIED BY 'abc123';

Next, attempt to connect as testuser.

> mysql -u testuser -p -h mysqlhost_or_ip

If you connect, great, your problem was the ACL. If you cannot connect, then you probably need to add skip-name-resolve to the my.cnf and debug that DNS is not preventing connectivity.

share|improve this answer

You've already got a few good suggestions to try but I will add that there are very good reasons why root access from remote is not permitted by default.

If you try the suggested methods and still have problems you might try monitoring the network traffic with Wireshark (or similar) and see exactly what is being sent and received, as this should clearly show what is, and is not, happening. That can sometimes be more revealing than error messages.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.