Контрольные суммы событий бинарного журнала
В репликации исторически использовались термины master и slave, но теперь предпочтительнее использовать primary и replica. Старые термины по-прежнему используются в некоторых частях документации и в командах MariaDB, хотя MariaDB 10.5 начала процесс переименования. Процесс документации продолжается. Следите за прогрессом этого усилия на MDEV-18777.
MariaDB включает функцию включения контрольной суммы в событиях бинарного журнала.
Контрольные суммы включаются с помощью параметра binlog_checksum. До MariaDB 10.2.1 этот параметр был отключен по умолчанию. Начиная с MariaDB 10.2.1, параметр установлен в CRC32.
Переменную можно изменить динамически, не перезапуская сервер. Изменение переменной (даже до её текущего значения) вызывает пересоздание бинарного журнала (цель — избежать наличия одного бинарного журнала, в котором некоторые события имеют контрольную сумму, а другие — нет).
При включенных контрольных суммах реплицирующие сервера проверяют события, полученные по сети, на наличие ошибок контрольной суммы и останавливаются с ошибкой, если обнаруживается повреждённое событие.
Кроме того, сервер можно настроить на проверку контрольных сумм в двух других местах.
Одно — при чтении событий из бинарного журнала на главном сервере, например, при отправке событий на подчиненный сервер или для выполнения команды SHOW BINLOG EVENTS. Это управляется параметром master_verify_checksum и используется для обнаружения повреждений файловой системы бинарных журналов.
Другое — при чтении событий потоком SQL подчиненного сервера из журнала пересылки. Это управляется параметром slave_sql_verify_checksum и используется для обнаружения повреждений файловой системы файлов пересылки подчиненного сервера.
master_verify_checksum
- Описание: Проверка контрольных сумм бинарного журнала при чтении событий из бинарного журнала на главном сервере.
-
Командная строка:
--master_verify_checksum=[0|1] - Область действия: Глобальная
- Тип доступа: Можно изменить динамически
-
Тип данных:
bool -
Значение по умолчанию:
OFF (0)
slave_sql_verify_checksum
- Описание: Проверка контрольных сумм бинарного журнала, когда поток SQL подчиненного сервера читает события из журнала пересылки.
-
Командная строка:
--slave_sql_verify_checksum=[0|1] - Область действия: Глобальная
- Тип доступа: Можно изменить динамически
-
Тип данных:
bool -
Значение по умолчанию:
ON (1)
Программа-клиент mysqlbinlog по умолчанию не проверяет контрольные суммы при чтении файла бинарного журнала, но её можно настроить на это с помощью параметра verify-binlog-checksum:
-
Имя переменной:
verify-binlog-checksum -
Тип данных:
bool -
Значение по умолчанию:
OFF
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/binlog-event-checksums/