mylbhelper's goal is to load balancers do their job.
Relatively few load balancers out there do MySQL natively, so if you use what's at hand and end up with a device that doesn't, you have to set up a generic TCP cluster with little or no chance of determining the health of a server unless it crashes completely (stops listening on the port you've specified). Here's where mylbhelper comes in handy.
It helps you in situations where max_clients is reached, tables have become corrupt, filesystem permissions are broken, a tired developer accidentally dropped that mission critical table, etc. Basically anything that can result in a query failing but doesn't stop MySQL from responding to network traffic. You can use the scripts to firewall the port you've set the cluster to work on - which will have even the dumbest of load balancers cease sending traffic to it. This is what the default scripts do.
In the event of change of status, mylbhelper also writes a message to syslog. It writes to daemon.crit when it has detected a problem, and daemon.notice when it comes back up. In order to prevent flapping, if the current state is down, it takes two successful runs for mylbhelper to consider MySQL healthy again.
What's New in This Release: [ read full changelog ]
· Bugfixes and changes relating to building under Solaris.
· A few minor bugs have been fixed and a few more options have been added.
· You can now verify your config file by doing a dry run.
· mylbhelper now determines whether other instances are running through advisory file locks rather than existence of the PID file to prevent mylbhelper from not starting unnecessarily.