Настраиваю gtid-репликацию в MySQL. И на мастере и на слэйве mysql 5.7
Информации в сети по gtid-репликации очень мало и вся она однотипная, доки mysql тоже не дают ответа на вопрос "как настроить оптимальную репликацию с помощью gtid".
Проблема в том, что папка с бинлогами растет очень быстро (ОЧЕНЬ БЫСТРО!) и слэйв не успевает синхронизироваться, отставание только увеличивается. Что я делаю не так? Может какие-то таблицы надо поставить в игнор?
Бэкап снимаю с мастера на слэйв с помощью Percona Xtrabackup.
Master my.cnf
[mysqld]
server-id = 1
binlog-format = row
gtid_mode=ON
enforce-gtid-consistency=ON
log-slave-updates
log_bin = /var/log/mysql/mysql-bin.log
performance_schema_max_digest_length = 8192
max_digest_length = 8192
max_binlog_size= 500M
expire_logs_days = 4
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1
key_buffer_size = 16M
innodb_flush_method = O_DIRECT
max_connections = 200
innodb_temp_data_file_path=ibtmp1:12M:autoextend:max:5G
Slave my.cnf
server-id = 2
binlog-format = row
gtid_mode=ON
enforce-gtid-consistency=ON
relay-log = /var/log/mysql/mysql-relay-bin.log
log_bin = /var/log/mysql/mysql-bin.log
skip_slave_start
log_slave_updates = 1
read_only = ON
innodb_file_per_table = ON
innodb_buffer_pool_size = 3G
max_binlog_size = 500M
max_relay_log_size = 500M
relay_log_space_limit = 5G
relay_log_recovery = ON
expire_logs_days = 4
slave-parallel-workers = 0
innodb_temp_data_file_path=ibtmp1:12M:autoextend:max:5G
В одной из статей видел пример, где на мастере в игнор репликации добавили следующие системные таблицы. Правильно ли так делать и если нет, то чем это грозит? Может ли так быстро расти размер бинлогов из-за этих системных таблиц?
replicate-ignore-db=information_schema
replicate-ignore-db=mysql
replicate-ignore-db=performance_schema
binlog-ignore-db = information_schema
binlog-ignore-db = mysql
binlog-ignore-db = performance_schema
Также нигде не видел, чтобы при gtid-репликации формат бинлогов был mixed, везде только raw.