Server bottlenecks and failures are a fact of life in any database deployment, but they don’t have to bring everything to a halt. This practical book explains replication, cluster, and monitoring features that can help protect your MySQL system from outages, whether it’s running on hardware, virtual machines, or in the cloud.

Written by engineers who designed many of the tools covered, this book reveals undocumented or hard-to-find aspects of MySQL reliability and high availability—knowledge that’s essential for any organization using this database system. This second edition describes extensive changes to MySQL tools. Versions up to 5.5 are covered, along with several 5.6 features.

Learn replication fundamentals, including use of the binary log and MySQL Replicant Library

Handle failing components through redundancy

Scale out to manage read-load increases, and use data sharding to handle large databases and write-load increases

Store and replicate data on individual nodes with MySQL Cluster

Monitor database activity and performance, and major operating system parameters

Keep track of masters and slaves, and deal with failures and restarts, corruption, and other incidents

Charles Bell

Dr. Charles A Bell is a Senior Software Engineer at Oracle. He iscurrently the lead developer for backup and a member of the MySQLBackup and Replication team. He lives in a small town in ruralVirginia with his loving wife. He received his Doctor of Philosophy inEngineering from Virginia Commonwealth University in 2005. Hisresearch interests include database systems, versioning systems,semantic web, and agile software development.

Mats Kindahl

Dr. Mats Kindahl is a senior software developer working on the MySQLserver. He is the main architect and implementor of MySQL's row-basedreplication and is responsible for strategic development ofreplication, reengineering, and the plugin architecture. Beforestarting at MySQL, he did research in formal methods, programanalysis, and distributed systems, the area where he earned hisdoctoral degree in computer science. He has also spent many yearsdeveloping C/C++ compilers and knows more programming languages thanhe has fingers.

Lars Thalmann

Dr. Lars Thalmann is the development manager for MySQL replication andbackup. He is responsible for the strategy and development of thesefeatures and leads the corresponding engineering teams. Thalmann hasworked with MySQL development since 2001, when he was a softwaredeveloper working on MySQL Cluster. More recently, he has driven thecreation and development of the MySQL backup feature, has guided theevolution of MySQL replication since 2004, and has been a key playerin the development of MySQL Cluster replication. Thalmann holds adoctorate in Computer Science from Uppsala University, Sweden.

The animal on the cover of MySQL High Availability is an American robin (Turdus migratorius). Instantly recognizable by its distinctive appearance–dark head, reddish-orange breast, and brown back–this member of the thrush family is among the most common American birds. (Though it shares its name with the European robin, which also has a reddish breast, the two species are not closely related.)

The American robin inhabits a range of six million square miles in North America and is resident year-round through much of the United States. Commonly considered a harbinger of spring, robins are early to sing in the morning and among the last birds singing at night. Their diets consist of invertebrates (often earthworms) and fruit and berries. Robins favor open ground and short grass, so they are frequent backyard visitors, and they are often found in parks, in gardens, and on lawns.

The book is very complete and easy to comprehend on describing MySQL options for HA.

The problem is that it's very lacking on how to do the described theory, sometimes it mentions some Python scripts the author created so it automagically does whatever it needs instead of showing the reader step by step on how to do it.

There are times that there's not even a python script to do stuff, ie. on circular replication, when a node fails (figure 5-10), it explains that you change the topology until you bring back the server, there's no practical description (commands nor python script) on how to actually bring back the server into the ring without taking down the whole ring.

I'd recommend this book only so you learn what's available for HA on MySQL, but you have to go to google and search on how to actually implement what's explained in the book.