#mysql #mariadb #replication #master-slave
Вопрос:
У меня есть несколько установок репликации Master-slave, которые некоторое время работали нормально, но я заметил, что я также копировал изменения, внесенные в базы данных, не перечисленные в binlog_do_db, в частности в базу данных mysql.
Так, например, раздел моего файла cnf выглядит следующим образом;
log_error = /var/log/mysql/error_master.log
идентификатор сервера = 1
log_bin = /var/log/mysql/master-bin.log
expire_logs_days = 10
max_binlog_size = 100M
binlog_do_db = test
binlog_do_db = system
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1
binlog-format = ROW
Я ожидаю, что в этом примере будет воспроизводиться только тест и система, и мой статус мастера шоу дает;
MariaDB [(none)]> show master status;
------------------- ---------- -------------- ------------------
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
------------------- ---------- -------------- ------------------
| master-bin.000016 | 7573027 | test,system | |
------------------- ---------- -------------- ------------------
1 row in set (0.00 sec)
что мне кажется правильным, но если я посмотрю в файле журнала master-bin.000016 с mysqlbinlog, я увижу изменения в базах данных, отличных от перечисленных выше, в частности в базе данных mysql.
Теперь я полагаю, что упрощенный вопрос будет заключаться в следующем: реплицируется ли база данных mysql по умолчанию, если я не добавлю ее в binlog_ignore_db ?