Hi David,
That seems to be a problem with the account setup in MySQL, rather than networking. Here's a useful reference:
"If the following error occurs when you try to connect from a host other than the one on which the MySQL server is running, it means that there is no row in the user table with a Host value that matches the client host:
Host ... is not allowed to connect to this MySQL server
You can fix this by setting up an account for the combination of client host name and user name that you are using when trying to connect.
If you do not know the IP address or host name of the machine from which you are connecting, you should put a row with '%' as the Host column value in the user table. After trying to connect from the client machine, use a SELECT USER() query to see how you really did connect. Then change the '%' in the user table row to the actual host name that shows up in the log. Otherwise, your system is left insecure because it permits connections from any host for the given user name. "
http://dev.mysql.com/doc/refman/5.5/en/access-denied.html
Complicating matters is the telnet test, which suggests that the MySQL server is inaccessible on port 3306. The Java exception seems to originate with the server, so it seems that connection is being made (but rejected due to authentication problems).
Best regards,
--
Todd Farmer
MySQL @ Oracle
http://www.oracle.com/mysql/