At this point, you may need to run FLUSH HOSTS and see if this unblocks.
The MySQL Documentation says this about FLUSH HOSTS:
- Empties the host cache tables. You should flush the host tables if
some of your hosts change IP address or if you get the error message
Host 'host_name' is blocked. When more than max_connect_errors errors
occur successively for a given host while connecting to the MySQL
server, MySQL assumes that something is wrong and blocks the host from
further connection requests. Flushing the host tables enables further
connection attempts from the host. See Section C.5.2.6, “Host
'host_name' is blocked”. You can start mysqld with
--max_connect_errors=999999999 to avoid this error message.
Why should a host get blocked to begin with ??
According to the MySQL Documentation:
If you get the following error, it means that mysqld has received many
connect requests from the host 'host_name' that have been interrupted
in the middle: Host 'host_name' is blocked because of many connection
errors. Unblock with 'mysqladmin flush-hosts' The number of
interrupted connect requests permitted is determined by the value of
the max_connect_errors system variable. After max_connect_errors
failed requests, mysqld assumes that something is wrong (for example,
that someone is trying to break in), and blocks the host from further
connections until you execute a mysqladmin flush-hosts command or
issue a FLUSH HOSTS statement. See Section 5.1.3, “Server System
Variables”.
By default, mysqld blocks a host after 10 connection errors. You can
adjust the value by starting the server like this:
shell> mysqld_safe --max_connect_errors=10000 &
If you get this error message for a given host, you should first
verify that there isn't anything wrong with TCP/IP connections from
that host. If you are having network problems, it does you no good to
increase the value of the max_connect_errors variable.
FLUSHS HOSTSaway. Let this question serve as a good reminder in this matter !!! – RolandoMySQLDBA Aug 31 '11 at 12:39