- Wydawnictwo: O'Reilly Media
- Data wydania: 28 czerwca 2010
- Liczba stron: 624
- Charles Bell
- Mats Kindahl
- Lars Thalmann
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
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.
View Charles Bell's full profile page.
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.
View Mats Kindahl's full profile page.
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.
View Lars Thalmann's full profile page.
Zawartość (spis treści):
- 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
- Logging Statements
- Logging Transactions
- 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
- Hierarchal Replication
- Specialized Slaves
- Data Sharding
- 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
- Multisource Replication
- Row-Based Replication
Monitoring and Disaster Recovery
- Chapter 7 Getting Started with Monitoring
- Ways of Monitoring
- Benefits of Monitoring
- System Components to Monitor
- Monitoring Solutions
- Linux and Unix Monitoring
- Mac OS X Monitoring
- Microsoft Windows Monitoring
- Monitoring as Preventive Maintenance
- ChapterMonitoring MySQL
- What Is Performance?
- MySQL Server Monitoring
- Database Performance
- Best Practices for Improving Performance
- Chapter 9 Storage Engine Monitoring
- ChapterReplication Monitoring
- Getting Started
- Server Setup
- Inclusive and Exclusive Replication
- Replication Threads
- Monitoring the Master
- Monitoring Slaves
- Replication Monitoring with MySQL Administrator
- Other Items to Consider
- Chapter 11 Replication Troubleshooting
- What Can Go Wrong
- Tools for Troubleshooting Replication
- Best Practices
- 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
- Automating Backups
- 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
- Example Configuration
- 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
- Using a Default Storage Engine
- MySQL Cluster Multisource Replication
- Multichannel Replication with Failover
- Using the Current Database to Filter
- More Columns on Slave Than Master
- Fewer Columns on Slave Than Master
- Replicate Selected Rows to Slave
- Replication Heartbeat
- Ignoring Servers in Circular Replication
- Feature Preview: Time-Delayed Replication
- Feature Preview: Scriptable Replication
- Feature Preview: The Oracle Algorithm