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

Solution 1:

Try to edit/add bind-address = 0.0.0.0 to your [mysqld] section of your /etc/mysql/mysql.conf.d/mysqld.cnf file and restart MySQL Service.

Solution 2:

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.