If you encounter a problem when trying to remotely connect to MySQL on Linux, make sure that the bind-address property in the configuration file (/etc/mysql/my.cnf) is set to the machine’s host name. I wasted a considerable amount of time before resolving this issue.
“If the server was started with –bind-address=127.0.0.1, it will listen for TCP/IP connections only locally on the loopback interface and will not accept remote connections.”
source: MySQL documentation
I hope this saves somebody some time.