sounds like a mysql privilege issue if you have already opened the access to public and opened port 3306 as in the above posts. currently you will have created the database user using a grant statement as below from mysql prompt:
grant all privileges on [databasename].* to [dbusername]@localhost identified by '[dbpassword]';
Instead of localhost you can use wildcard (watch for security implications!!) or a specific hostname or IP address. I believe you need to user quote marks, so it would be :
ALL HOSTS:
grant all privileges on [databasename].* to [dbusername]@"%" identified by '[dbpassword]';
SPECIFIC HOSTS
grant all privileges on [databasename].* to [dbusername]@"abc.com" identified by '[dbpassword]';
or
grant all privileges on [databasename].* to [dbusername]@"xxx.xxx.xxx.xxx" identified by '[dbpassword]';
flush privileges;
I strongly recommend the specific host option, but the "%" has come in real handy for me when testing.
