mysql: connection refused when trying to connect to localhost using remote IP

mysql

Solution

I found the solution to my problem myself, but I still don't quite understand why it didn't work:

I granted privileges to that user on the hosts % and localhost:

# Before
+-----------------+------------+
| Host            | User       |
+-----------------+------------+
| %               | username   |
| localhost       | username   |
+-----------------+------------+

With these settings I got the results I showed above. When I granted privileges to that user on host it suddenly did work.

# After
+-----------------+------------+
| Host            | User       |
+-----------------+------------+
| %               | username   |
| localhost       | username   |
| <myIpAddress>   | username   |
+-----------------+------------+

Apparently % does work for remote connections, but not for local connections.

Problem

When I try to connect to a local mysql database using it's remote ip-address I get a access denied. When I try to connect to that same database from an external machine, it works without any problems. When I connect to the local database using localhost, it works perfectly as well. E.g., if the database server has the ip 1.2.3.4 then I get the following results: ``` # From the db server mysql -u username -h localhost -p #works perfectly mysql -u username -h 127.0.0.1 -p #works perfectly mysql -u username -h 1.2.3.4 -p #Access denied # From any other machine mysql -u username -h 1.2.3.4 -p #works perfectly ``` What can I do to allow local access to my database using its remote ip-address? The OS of the database server is Fedora 15 and the MySQL version is 5.5.23.

Original source