Actually from re-reading I caught something....it kind of looks like your MySQL is actually refusing the connection almost....I'll do some digging and see what the true error means
After a bit of searching I found this:
"Server dropped an incorrect or too large packet. If mysqld gets a packet that is too large or incorrect, it assumes that something has gone wrong with the client and closes the connection. To fix, you can increase the maximal packet size limit “max_allowed_packet” in my.cnf file, eg. set max_allowed_packet = 128M, then sudo /etc/init.d/mysql restart."
This may or may not be the issue but worth a try