MySQL Master High Availability provides automated master monitoring and failover, interactive (manual) master failover, and online switching of master to a different host for MySQL high availability environments.
MHA is automating master failover and slave promotion within short (usually 10-30 seconds) downtime, without suffering from replication consistency problems, without spending money for lots of new servers, without performance penalty, without complexity (easy-to-install), and without changing existing deployments.
See https://code.google.com/p/mysql-master-ha/ for more details.