Server bottlenecks and failures are a fact of life in any database deployment, but they don't have to bring everything to a halt. MySQL has several features that can help you protect your system from outages, whether it's running on hardware, virtual machines, or in the cloud. MySQL High Availability explains how to use these replication, cluster, and monitoring features in a wide range of real-life situations.
Written by engineers who designed many of the tools covered inside, 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.
Explore the binary log, a file for replication that helps in disaster recovery and troubleshooting
Get techniques for improving response time and handling large data sets
Monitor database activity and performance, as well as major operating system parameters
Keep track of what masters and slaves are doing, and deal with failures and restarts, corruption, and other incidents
Automate key tasks with code from an open source library written by the authors
Learn techniques for using MySQL in virtualized environments, such as Amazon Web Services
Use MySQL Cluster to achieve high availability
"MySQL replication is widely deployed but has never been adequately explained. This book changes that."-- Mark Callaghan, MySQL contributor and leader of MySQL engineering efforts at a few of the world's largest Internet companies
Chapter 1 Introduction
What’s This Replication Stuff Anyway?
So, Backups Are Not Needed Then?
What’s with All the Monitoring?
Is There Anything Else I Can Read?
Chapter 2 MySQL Replication Fundamentals
Basic Steps in Replication
A Brief Introduction to the Binary Log
Performing Common Tasks with Replication
Chapter 3 The Binary Log
Structure of the Binary Log
Binary Log Management
The mysqlbinlog Utility
Binary Log Options and Variables
Chapter 4 Replication for High Availability
Chapter 5 MySQL Replication for Scale-Out
Scaling Out Reads, Not Writes
The Value of Asynchronous Replication
Managing the Replication Topology
Managing Consistency of Data
Consistency in a Hierarchal Deployment
Chapter 6 Advanced Replication
Replication Architecture Basics
Running Replication over the Internet
Finer-Grained Control over Replication
Options for Handling Broken Connections
How the Slave Processes Events
Slave Safety and Recovery
Monitoring and Disaster Recovery
Chapter 7 Getting Started with Monitoring
Ways of Monitoring
Benefits of Monitoring
System Components to Monitor
Linux and Unix Monitoring
Mac OS X Monitoring
Microsoft Windows Monitoring
Monitoring as Preventive Maintenance
Chapter 8 Monitoring MySQL
What Is Performance?
MySQL Server Monitoring
Best Practices for Improving Performance
Chapter 9 Storage Engine Monitoring
Chapter 10 Replication Monitoring
Inclusive and Exclusive Replication
Monitoring the Master
Replication Monitoring with MySQL Administrator
Other Items to Consider
Chapter 11 Replication Troubleshooting
What Can Go Wrong
Tools for Troubleshooting Replication
Reporting Replication Bugs
Chapter 12 Protecting Your Investment
What Is Information Assurance?
Information Integrity, Disaster Recovery, and the Role of Backups
Backup Utilities and OS-Level Solutions
Backup and MySQL Replication
Chapter 13 MySQL Enterprise
Getting Started with MySQL Enterprise
MySQL Enterprise Components
Using MySQL Enterprise
High Availability Environments
Chapter 14 Cloud Computing Solutions
What Is Cloud Computing?
Cloud Computing Use Cases
Cloud Computing Benefits
Cloud Computing Vendors
MySQL in the Cloud
Open Source Cloud Computing
Chapter 15 MySQL Cluster
What Is MySQL Cluster?
Architecture of MySQL Cluster
Achieving High Availability
Achieving High Performance
Appendix Replication Tips and Tricks
My Slave Stopped. Now What?
Examining the Binary Log with Verbose
Using Replication to Repopulate a Table
Using MySQL Proxy to Perform Multimaster Replication
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.
Dr. Mats Kindahl is principal senior software developer in the MySQL team at Oracle. He is the main architect and implementor of MySQL’s row-based replication and several other replication features and is currently architect and project lead for the MySQL High-Availability team that develop MySQL Fabric. Before starting at MySQL, he did research in formal methods, program analysis, and distributed systems, the area where he earned his doctoral degree in computer science. He has also spent several years developing C/C++ compilers.
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 HighAvailability is an American robin (Turdusmigratorius). Instantly recognizable by its distinctiveappearance—dark head, reddish-orange breast, and brown back—this member ofthe thrush family is among the most common American birds. (Though it sharesits name with the European robin, which also has a reddish breast, the twospecies are not closely related.)
The American robin inhabits a range of six million square miles inNorth America and is resident year-round through much of the United States.Commonly considered a harbinger of spring, robins are early to sing in themorning and among the last birds singing at night. Their diets consist ofinvertebrates (often earthworms) and fruit and berries. Robins favor openground and short grass, so they are frequent backyard visitors, and they areoften found in parks, in gardens, and on lawns.
I work in quite a large site and found the book full of useful tips of things to do, and ways to do them in order to achieve the title's goal of MySQL High Availability.
To be honest the book should really be called "MySQL and replication in large environments" but that does not sound so exciting.
There's less information on performance tuning and more on working with a large replicated setup. That's fine: it fits my needs and will certainly fit others too.
It's also interesting to note how the authors solve many problems by writing wrapper routines around MySQL and the required replication procedures. That's done in python which is fine but most of the routines I have written with shell scripts or perl. Again if you are looking at the technique the implementation language does not really matter. Oracle should really take note and come up with some standard routines to make more of these tasks doable _the same way_ by everyone. That makes all DBA or sysadmins lives easier.
So the book was full of good tips and procedures and is certainly worth the read.
Bottom Line Yes, I would recommend this to a friend