3

During performance testing of our application I found that under extreme loads one problem that can occur is the occasional mysql connection error (i.e. at this stage I don't believe it is fair to call it a bug). Eventually the application will get blocked by mysql. I can extend the SET GLOBAL max_connect_errors=10000; (currently 10) but assuming 100% mysql uptime over a very very long time would this problem eventually reoccur?

This is the "blocked-host" feature of mysql:

Host 'host_name' is blocked because of many connection errors. Unblock with 'mysqladmin flush-hosts'

Without proactive intervention will the connection error count ever flush or otherwise decline?

Update

I have found conflicting information, Percona recommend a very high limit ("around 1000000 is good") implying no. But elsewhere in the documentation states only successive errors are counted meaning yes, a single successful connection will flush the error count.

8.11.5.2. DNS Lookup Optimization and the Host Cache

If too many of these occur successively from a given host without a successful connection, the server blocks further connections from that host. The max_connect_errors system variable determines the number of permitted errors before blocking occurs

Is anyone running mysql 5.6.5 where host_cache is exposed or know definitively?

KCD
  • 878
  • 3
  • 11
  • 23

2 Answers2

1

Yes, they are successive connection errors

KCD
  • 878
  • 3
  • 11
  • 23
0

Does mysql connection error count ever flush?

No. The client host will be blocked until you execute a mysqladmin flush-hosts command or restart the MySQL server.

quanta
  • 50,327
  • 19
  • 152
  • 213
  • Thanks for the reply. The question is proactive and asking will the number of connection errors continue to increase *before* the host is blocked. I get the impression that if we expect very high traffic I will need to script a FLUSH every month – KCD Feb 24 '13 at 19:12