Skip to content

Configuring Crash Safe Slave

luqun edited this page Jan 29, 2024 · 2 revisions

MyRocks replication slaves can be crash safe, even without any durability settings. If slave instance dies, by just restarting the mysqld instance, it automatically tries to restart replication and syncs up with master.

You can configure crash safe slaves by configuring my.cnf as the followings.

When using GTID

[mysqld]
log-bin
log-slave-updates
relay_log_recovery=1
gtid_mode=ON
enforce_gtid_consistency=ON
slave_gtid_mode=[ON | OPTIMIZED]
sync-binlog=0
rocksdb-flush-log-at-trx-commit=2
rocksdb-wal-recovery-mode=2

When not using GTID

[mysqld]
log-bin
relay_log_recovery=1
relay_log_info_repository=TABLE
sync-binlog=0
rocksdb-flush-log-at-trx-commit=2
rocksdb-wal-recovery-mode=2

With GTID enabled, Facebook MySQL stores GTID information into a new system table mysql.slave_gtid_info, and it does not use mysql.slave_relay_log_info table. These tables are created automatically by mysql_install_db.

Clone this wiki locally