Hi Cyril,
I know the check is not perfect, because it doesn't handle a correct
disconnection.
Mysql expect the client to talk, and i think it's weird... in the
future, i think it will be better to do a *real* mysql ping, but at the
moment, the checks API doesn't let me handle this in a cleaner way.
as a workaround, you can disable the mysql connection_errors checking by
adding max_connect_errors=999999999 in you my.cnf
Regards,
Hervé.
On 01/13/2010 11:48 AM, [email protected] wrote:
Hi Willy,
Be careful with the new "mysql-check" option introduced in the development
branch.
http://haproxy.1wt.eu/git?p=haproxy.git;a=commit;h=698ae00fc272bf5f4e159922546347066bd66378
It won't work with distant backends :
mysql has a mechanism to block hosts that open connection whithout closing
them correctly (depending on the max_connect_errors value on the mysql
server).
Using the configuration file provided in the commit and a distant server,
this quickly results in :
[WARNING] 012/111726 (7318) : Server mysql_1/srv1 is DOWN, reason: Layer7
wrong status, code: 0, info: "Host 'distant.mysql.server' is blocked because
of many connection errors; unblock with 'mysqladmin flush-hosts'", check
duration: 0ms.
[ALERT] 012/111726 (7318) : proxy 'mysql_1' has no server available!
--
Hervé COMMOWICK, EXOSEC (http://www.exosec.fr/)
ZAC des Metz - 3 Rue du petit robinson - 78350 JOUY EN JOSAS
Tel: +33 1 30 67 60 65 - Fax: +33 1 75 43 40 70
mailto:[email protected]
* , __,
_/^\_ ( | _, _ , _ ,
< > _|(_)\/(/_(_|/_)(/_/_)
* /.-.\ * ( _/
* `/&\` ________)
,@.*;@, (--|__ _ |_ _ ,
/_o.I %_\ * _| (/_| (/_/_)
* (`'--:o(_@; (
/`;--.,__ `') *
;@`o % O,*`'`&\
* (`'--)_@ ;o %'()\ *
/.,_ `''-...- `) *
`"""==,,.,="="= "`
####
""""