Muutke küpsiste eelistusi

E-raamat: MySQL High Availability: Tools for Building Robust Data Centers

  • Formaat: EPUB+DRM
  • Ilmumisaeg: 10-Apr-2014
  • Kirjastus: O'Reilly Media
  • Keel: eng
  • ISBN-13: 9781449339562
Teised raamatud teemal:
  • Formaat - EPUB+DRM
  • Hind: 35,69 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: EPUB+DRM
  • Ilmumisaeg: 10-Apr-2014
  • Kirjastus: O'Reilly Media
  • Keel: eng
  • ISBN-13: 9781449339562
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Provides information on using the replication, cluster, and monitoring features of MySQL to protect a database system from outages.

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
  • Examine tools including MySQL Enterprise Monitor, MySQL Utilities, and GTIDs
Foreword for the Second Edition xv
Foreword for the First Edition xix
Preface xxi
Part I. High Availability and Scalability
1 Introduction
3(8)
What's This Replication Stuff, Anyway?
5(2)
So, Backups Are Not Needed Then?
7(1)
What's With All the Monitoring?
7(1)
Is There Anything Else I Can Read?
8(1)
Conclusion
9(2)
2 MySQL Replicant Library
11(12)
Basic Classes and Functions
15(1)
Supporting Different Operating Systems
16(1)
Servers
17(2)
Server Roles
19(2)
Conclusion
21(2)
3 MySQL Replication Fundamentals
23(28)
Basic Steps in Replication
24(5)
Configuring the Master
25(2)
Configuring the Slave
27(1)
Connecting the Master and Slave
28(1)
A Brief Introduction to the Binary Log
29(6)
What's Recorded in the Binary Log
30(1)
Watching Replication in Action
30(3)
The Binary Log's Structure and Content
33(2)
Adding Slaves
35(7)
Cloning the Master
37(2)
Cloning a Slave
39(2)
Scripting the Clone Operation
41(1)
Performing Common Tasks with Replication
42(7)
Reporting
43(6)
Conclusion
49(2)
4 The Binary Log
51(72)
Structure of the Binary Log
52(6)
Binlog Event Structure
54(2)
Event Checksums
56(2)
Logging Statements
58(28)
Logging Data Manipulation Language Statements
58(1)
Logging Data Definition Language Statements
59(1)
Logging Queries
59(6)
LOAD DATA INFILE Statements
65(2)
Binary Log Filters
67(3)
Triggers, Events, and Stored Routines
70(5)
Stored Procedures
75(3)
Stored Functions
78(3)
Events
81(1)
Special Constructions
82(1)
Nontransactional Changes and Error Handling
83(3)
Logging Transactions
86(11)
Transaction Cache
87(4)
Distributed Transaction Processing Using XA
91(3)
Binary Log Group Commit
94(3)
Row-Based Replication
97(3)
Enabling Row-based Replication
98(1)
Using Mixed Mode
99(1)
Binary Log Management
100(5)
The Binary Log and Crash Safety
100(1)
Binlog File Rotation
101(2)
Incidents
103(1)
Purging the Binlog File
104(1)
The mysqlbinlog Utility
105(13)
Basic Usage
106(7)
Interpreting Events
113(5)
Binary Log Options and Variables
118(3)
Options for Row-Based Replication
120(1)
Conclusion
121(2)
5 Replication for High Availability
123(30)
Redundancy
124(2)
Planning
126(2)
Slave Failures
127(1)
Master Failures
127(1)
Relay Failures
127(1)
Disaster Recovery
127(1)
Procedures
128(23)
Hot Standby
130(5)
Dual Masters
135(10)
Slave Promotion
145(4)
Circular Replication
149(2)
Conclusion
151(2)
6 MySQI Replication for Scale-Out
153(36)
Scaling Out Reads, Not Writes
155(1)
The Value of Asynchronous Replication
156(2)
Managing the Replication Topology
158(12)
Application-Level Load Balancing
162(8)
Hierarchical Replication
170(3)
Setting Up a Relay Server
171(1)
Adding a Relay in Python
172(1)
Specialized Slaves
173(4)
Filtering Replication Events
174(2)
Using Filtering to Partition Events to Slaves
176(1)
Managing Consistency of Data
177(10)
Consistency in a Nonhierarchical Deployment
178(2)
Consistency in a Hierarchical Deployment
180(7)
Conclusion
187(2)
7 Data Sharding
189(38)
What Is Sharding?
190(4)
Why Should You Shard?
191(1)
Limitations of Sharding
192(2)
Elements of a Sharding Solution
194(3)
High-Level Sharding Architecture
196(1)
Partitioning the Data
197(9)
Shard Allocation
202(4)
Mapping the Sharding Key
206(9)
Sharding Scheme
206(4)
Shard Mapping Functions
210(5)
Processing Queries and Dispatching Transactions
215(5)
Handling Transactions
216(2)
Dispatching Queries
218(2)
Shard Management
220(5)
Moving a Shard to a Different Node
220(5)
Splitting Shards
225(1)
Conclusion
225(2)
8 Replication Deep Dive
227(64)
Replication Architecture Basics
228(7)
The Structure of the Relay Log
229(4)
The Replication Threads
233(1)
Starting and Stopping the Slave Threads
234(1)
Running Replication over the Internet
235(4)
Setting Up Secure Replication Using Built-in Support
237(1)
Setting Up Secure Replication Using Stunnel
238(1)
Finer-Grained Control Over Replication
239(9)
Information About Replication Status
239(9)
Options for Handling Broken Connections
248(1)
How the Slave Processes Events
249(8)
Housekeeping in the I/O Thread
249(1)
SQL Thread Processing
250(7)
Semisynchronous Replication
257(3)
Configuring Semisynchronous Replication
258(1)
Monitoring Semisynchronous Replication
259(1)
Global Transaction Identifiers
260(8)
Setting Up Replication Using GTIDs
261(2)
Failover Using GT1Ds
263(1)
Slave Promotion Using GTIDs
264(2)
Replication of GTIDs
266(2)
Slave Safety and Recovery
268(7)
Syncing, Transactions, and Problems with Database Crashes
268(2)
Transactional Replication
270(4)
Rules for Protecting Nontransactional Statements
274(1)
Multisource Replication
275(3)
Details of Row-Based Replication
278(11)
Table_map Events
280(2)
The Structure of Row Events
282(1)
Execution of Row Event
283(1)
Events and Triggers
284(2)
Filtering in Row-Based Replication
286(2)
Partial Row Replication
288(1)
Conclusion
289(2)
9 MySQL Cluster
291(42)
What Is MySQL Cluster?
292(6)
Terminology and Components
292(1)
How Does MySQL Cluster Differ from MySQL?
293(1)
Typical Configuration
293(1)
Features of MySQL Cluster
294(2)
Local and Global Redundancy
296(1)
Log Handling
297(1)
Redundancy and Distributed Data
297(1)
Architecture of MySQL Cluster
298(8)
How Data Is Stored
300(3)
Partitioning
303(1)
Transaction Management
304(1)
Online Operations
304(2)
Example Configuration
306(8)
Getting Started
306(2)
Starting a MySQL Cluster
308(5)
Testing the Cluster
313(1)
Shutting Down the Cluster
314(1)
Achieving High Availability
314(10)
System Recovery
317(1)
Node Recovery
318(1)
Replication
319(5)
Achieving High Performance
324(4)
Considerations for High Performance
325(1)
High Performance Best Practices
326(2)
Conclusion
328(5)
Part II. Monitoring and Managing
10 Getting Started with Monitoring
333(46)
Ways of Monitoring
334(1)
Benefits of Monitoring
335(1)
System Components to Monitor
335(5)
Processor
336(1)
Memory
337(1)
Disk
338(1)
Network Subsystem
339(1)
Monitoring Solutions
340(1)
Linux and Unix Monitoring
341(15)
Process Activity
342(5)
Memory Usage
347(3)
Disk Usage
350(3)
Network Activity
353(2)
General System Statistics
355(1)
Automated Monitoring with cron
356(1)
Mac OS X Monitoring
356(9)
System Profiler
357(2)
Console
359(2)
Activity Monitor
361(4)
Microsoft Windows Monitoring
365(12)
The Windows Experience
366(1)
The System Health Report
367(2)
The Event Viewer
369(3)
The Reliability Monitor
372(2)
The Task Manager
374(1)
The Performance Monitor
375(2)
Monitoring as Preventive Maintenance
377(1)
Conclusion
377(2)
11 Monitoring MySQL
379(68)
What Is Performance?
380(1)
MySQL Server Monitoring
381(26)
How MySQL Communicates Performance
381(1)
Performance Monitoring
382(1)
SQL Commands
383(6)
The mysqladmin Utility
389(2)
MySQL Workbench
391(11)
Third-Party Tools
402(3)
The MySQL Benchmark Suite
405(2)
Server Logs
407(2)
Performance Schema
409(12)
Concepts
410(2)
Getting Started
412(8)
Using Performance Schema to Diagnose Performance Problems
420(1)
MySQL Monitoring Taxonomy
421(2)
Database Performance
423(21)
Measuring Database Performance
423(12)
Best Practices for Database Optimization
435(9)
Best Practices for Improving Performance
444(2)
Everything Is Slow
444(1)
Slow Queries
444(1)
Slow Applications
445(1)
Slow Replication
445(1)
Conclusion
446(1)
12 Storage Engine Monitoring
447(30)
InnoDB
448(19)
Using the SHOW ENGINE Command
450(3)
Using InnoDB Monitors
453(4)
Monitoring Logfiles
457(1)
Monitoring the Buffer Pool
458(2)
Monitoring Tablespaces
460(1)
Using INFORMATION_SCHEMA Tables
461(1)
Using PERFORMANCE_SCHEMA Tables
462(1)
Other Parameters to Consider
463(1)
Troubleshooting Tips for InnoDB
464(3)
MyISAM
467(8)
Optimizing Disk Storage
467(1)
Repairing Your Tables
468(1)
Using the MyISAM Utilities
468(2)
Storing a Table in Index Order
470(1)
Compressing Tables
471(1)
Defragmenting Tables
471(1)
Monitoring the Key Cache
471(1)
Preloading Key Caches
472(1)
Using Multiple Key Caches
473(1)
Other Parameters to Consider
474(1)
Conclusion
475(2)
13 Replication Monitoring
477(24)
Getting Started
477(1)
Server Setup
478(1)
Inclusive and Exclusive Replication
478(3)
Replication Threads
481(2)
Monitoring the Master
483(4)
Monitoring Commands for the Master
483(4)
Master Status Variables
487(1)
Monitoring Slaves
487(6)
Monitoring Commands for the Slave
487(5)
Slave Status Variables
492(1)
Replication Monitoring with MySQL Workbench
493(2)
Other Items to Consider
495(4)
Networking
495(1)
Monitor and Manage Slave Lag
496(1)
Causes and Cures for Slave Lag
497(1)
Working with GTIDs
498(1)
Conclusion
499(2)
14 Replication Troubleshooting
501(30)
What Can Go Wrong
502(1)
Problems on the Master
503(6)
Master Crashed and Memory Tables Are in Use
503(1)
Master Crashed and Binary Log Events Are Missing
503(2)
Query Runs Fine on the Master but Not on the Slave
505(1)
Table Corruption After a Crash
505(1)
Binary Log Is Corrupt on the Master
506(1)
Killing Long-Running Queries for Nontransactional Tables
507(1)
Unsafe Statements
507(2)
Problems on the Slave
509(8)
Slave Server Crashed and Replication Won't Start
510(1)
Slave Connection Times Out and Reconnects Frequently
510(1)
Query Results Are Different on the Slave than on the Master
511(1)
Slave Issues Errors when Attempting to Restart with SSL
512(1)
Memory Table Data Goes Missing
513(1)
Temporary Tables Are Missing After a Slave Crash
513(1)
Slave Is Slow and Is Not Synced with the Master
513(1)
Data Loss After a Slave Crash
514(1)
Table Corruption After a Crash
514(1)
Relay Log Is Corrupt on the Slave
515(1)
Multiple Errors During Slave Restart
515(1)
Consequences of a Failed Transaction on the Slave
515(1)
I/O Thread Problems
515(1)
SQL Thread Problems: Inconsistencies
516(1)
Different Errors on the Slave
517(1)
Advanced Replication Problems
517(3)
A Change Is Not Replicated Among the Topology
517(1)
Circular Replication Issues
518(1)
Multimaster Issues
518(1)
The HA_ERR_KEY_NOT_FOUND Error
519(1)
GTID Problems
519(1)
Tools for Troubleshooting Replication
520(1)
Best Practices
521(7)
Know Your Topology
521(2)
Check the Status of All of Your Servers
523(1)
Check Your Logs
523(1)
Check Your Configuration
524(1)
Conduct Orderly Shutdowns
525(1)
Conduct Orderly Restarts After a Failure
525(1)
Manually Execute Failed Queries
526(1)
Don't Mix Transactional and Nontransactional Tables
526(1)
Common Procedures
526(2)
Reporting Replication Bugs
528(1)
Conclusion
529(2)
15 Protecting Your Investment
531(52)
What Is Information Assurance?
532(1)
The Three Practices of Information Assurance
532(1)
Why Is Information Assurance Important?
533(1)
Information Integrity, Disaster Recovery, and the Role of Backups
533(14)
High Availability Versus Disaster Recovery
534(1)
Disaster Recovery
535(6)
The Importance of Data Recovery
541(1)
Backup and Restore
542(5)
Backup Tools and OS-Level Solutions
547(23)
MySQL Enterprise Backup
548(11)
MySQL Utilities Database Export and Import
559(1)
The mysqldump Utility
560(2)
Physical File Copy
562(2)
Logical Volume Manager Snapshots
564(5)
XtraBackup
569(1)
Comparison of Backup Methods
569(1)
Backup and MySQL Replication
570(9)
Backup and Recovery with Replication
571(1)
PITR
571(8)
Automating Backups
579(2)
Conclusion
581(2)
16 MySQL Enterprise Monitor
583(28)
Getting Started with MySQL Enterprise Monitor
584(6)
Commercial Offerings
585(1)
Anatomy of MySQL Enterprise Monitor
585(1)
Installation Overview
586(4)
MySQL Enterprise Monitor Components
590(7)
Dashboard
591(3)
Monitoring Agent
594(1)
Advisors
594(1)
Query Analyzer
595(2)
MySQL Production Support
597(1)
Using MySQL Enterprise Monitor
597(12)
Monitoring
599(6)
Query Analyzer
605(3)
Further Information
608(1)
Conclusion
609(2)
17 Managing MySQL Replication with MySQL Utilities
611(64)
Common MySQL Replication Tasks
612(6)
Checking Status
612(3)
Stopping Replication
615(2)
Adding Slaves
617(1)
MySQL Utilities
618(3)
Getting Started
618(1)
Using the Utilities Without Workbench
619(1)
Using the Utilities via Workbench
619(2)
General Utilities
621(23)
Comparing Databases for Consistency: mysqldbcompare
621(3)
Copying Databases: mysqldbcopy
624(1)
Exporting Databases: mysqldbexport
625(3)
Importing Databases: mysqldbimport
628(1)
Discovering Differences: mysqldiff
629(3)
Showing Disk Usage: mysqldiskusage
632(3)
Checking Tables Indexes: mysqlindexcheck
635(1)
Searching Metadata: mysqlmetagrep
636(1)
Searching for Processes: mysqlprocgrep
637(2)
Cloning Servers: mysqlserverclone
639(2)
Showing Server Information: mysqlserverinfo
641(1)
Cloning Users: mysqluserclone
642(1)
Utilities Client: mysqluc
643(1)
Replication Utilities
644(6)
Setting Up Replication: mysqlreplicate
644(2)
Checking Replication Setup: mysqlrplcheck
646(2)
Showing Topologies: mysqlrplshow
648(2)
High Availability Utilities
650(13)
Concepts
650(1)
mysqlrpladmin
651(4)
mysqlfailover
655(8)
Creating Your Own Utilities
663(10)
Architecture of MySQL Utilities
663(1)
Custom Utility Example
664(9)
Conclusion
673(2)
A Replication Tips and Tricks 675(18)
B A GTID Implementation 693(12)
Index 705
Dr. Charles A Bell is a Senior Software Engineer at Oracle. He is currently the lead developer for backup and a member of the MySQL Backup and Replication team.He received his Doctor of Philosophy in Engineering from Virginia Commonwealth University in 2005. Dr. Mats Kindahl is a senior software developer working on the MySQL server. He is the main architect and implementor of MySQL's row-based replication and is responsible for strategic development of replication, reengineering, and the plugin architecture. Dr. Lars Thalmann is the development manager for MySQL replication and backup. He is responsible for the strategy and development of these features and leads the corresponding engineering teams. Thalmann has driven the creation and development of the MySQL backup feature, has guided the evolution of MySQL replication since 2004, and has been a key player in the development of MySQL Cluster replication.
Ei ole sisse logitud.