My customer's BlueHost web server got hacked and somehow injected with malware. That was removed/fixed by using SiteLock, but in the midst of that "fix", remote connections to the MySQL database was broken. The error:
Lost connection to server at 'handshake: reading initial communication packet', system error: 0
I have looked carefully at this similar SO post and none of the suggested solutions worked, which I will comment on individually:
- The website is still able to query the database--it is only remote connections that fail (see error message posted above).
- My customer connects with
Workbench
and I useHeidiSQL
. We are both on different sides of the country and both our clients fail to connect. Before the hack and sitelock repair, it worked for both of us with both of our clients. - It is not a client-side firewall problem. Nothing has changed on the client side of either my customer or me. But changes were made on the server.
- In
my.cnf
there is nobind-address
setting. Here are all themy.cnf
settings:
- I confirmed through
Terminal
that MySQL is still running on port 3306:
- My client called BlueHost and asked if they were blocking connections to/from port 3306 and they said no. (Is there a way I can verify this?) I ran
telnet mycustdomain.com 3306
from a windows command shell and it opened an active connection for me. No errors about connection closed, etc.
What can I do to discover the cause of this error, and how can I fix it?
** EDIT **
I tried adding bind-address = 0.0.0.0
but that made no difference - same error.