MySQL 8.0 Reference Manual 16.1 Setting the Storage Engine ............................................................................................ 3400 16.2 The MyISAM Storage Engine ........................................................................................ 3401 16.2.1 MyISAM Startup Options .................................................................................... 3404 16.2.2 Space Needed for Keys ..................................................................................... 3406 16.2.3 MyISAM Table Storage Formats ......................................................................... 3406 16.2.4 MyISAM Table Problems .................................................................................... 3409 16.3 The MEMORY Storage Engine ...................................................................................... 3410 16.4 The CSV Storage Engine .............................................................................................. 3415 16.4.1 Repairing and Checking CSV Tables .................................................................. 3415 16.4.2 CSV Limitations ................................................................................................. 3416 16.5 The ARCHIVE Storage Engine ...................................................................................... 3416 16.6 The BLACKHOLE Storage Engine ................................................................................. 3418 16.7 The MERGE Storage Engine ......................................................................................... 3420 16.7.1 MERGE Table Advantages and Disadvantages .................................................... 3423 16.7.2 MERGE Table Problems ..................................................................................... 3424 16.8 The FEDERATED Storage Engine ................................................................................. 3426 16.8.1 FEDERATED Storage Engine Overview .............................................................. 3426 16.8.2 How to Create FEDERATED Tables ................................................................... 3427 16.8.3 FEDERATED Storage Engine Notes and Tips ..................................................... 3430 16.8.4 FEDERATED Storage Engine Resources ............................................................ 3431 16.9 The EXAMPLE Storage Engine ..................................................................................... 3431 16.10 Other Storage Engines ................................................................................................ 3432 16.11 Overview of MySQL Storage Engine Architecture ......................................................... 3432 16.11.1 Pluggable Storage Engine Architecture .............................................................. 3433 16.11.2 The Common Database Server Layer ................................................................ 3433 17 Replication ............................................................................................................................... 3435 17.1 Configuring Replication .................................................................................................. 3437 17.1.1 Binary Log File Position Based Replication Configuration Overview ....................... 3437 17.1.2 Setting Up Binary Log File Position Based Replication ......................................... 3438 17.1.3 Replication with Global Transaction Identifiers ..................................................... 3450 17.1.4 Changing GTID Mode on Online Servers ............................................................. 3475 17.1.5 MySQL Multi-Source Replication ......................................................................... 3481 17.1.6 Replication and Binary Logging Options and Variables ......................................... 3488 17.1.7 Common Replication Administration Tasks .......................................................... 3577 17.2 Replication Implementation ............................................................................................ 3584 17.2.1 Replication Formats ............................................................................................ 3584 17.2.2 Replication Channels .......................................................................................... 3592 17.2.3 Replication Threads ............................................................................................ 3596 17.2.4 Relay Log and Replication Metadata Repositories ................................................ 3599 17.2.5 How Servers Evaluate Replication Filtering Rules ................................................ 3606 17.3 Replication Security ....................................................................................................... 3614 17.3.1 Setting Up Replication to Use Encrypted Connections .......................................... 3615 17.3.2 Encrypting Binary Log Files and Relay Log Files .................................................. 3617 17.3.3 Replication Privilege Checks ............................................................................... 3621 17.4 Replication Solutions ..................................................................................................... 3628 17.4.1 Using Replication for Backups ............................................................................ 3628 17.4.2 Handling an Unexpected Halt of a Replica ........................................................... 3632 17.4.3 Monitoring Row-based Replication ...................................................................... 3635 17.4.4 Using Replication with Different Source and Replica Storage Engines ................... 3635 17.4.5 Using Replication for Scale-Out .......................................................................... 3636 17.4.6 Replicating Different Databases to Different Replicas ........................................... 3638 17.4.7 Improving Replication Performance ..................................................................... 3639 17.4.8 Switching Sources During Failover ...................................................................... 3641 17.4.9 Switching Sources with Asynchronous Connection Failover .................................. 3643 xviii