Переменные системы репликации и двоичного журнала
В репликации исторически использовались термины мастер и слейв, но в настоящее время предпочтительнее термины первичный и реплика. Старые термины по-прежнему используются в некоторых частях документации и в командах MariaDB, хотя MariaDB 10.5 начала процесс переименования. Процесс документирования продолжается. Следите за прогрессом этой работы на MDEV-18777.
На этой странице перечислены системные переменные, связанные с двоичным журналированием и репликацией.
Полный список системных переменных и инструкции по их настройке см. в разделе Системные переменные сервера, а также Системные переменные для глобального идентификатора транзакции.
Также см. опции репликации mysqld для связанных параметров, которые не являются системными переменными (например, binlog_do_db и binlog_ignore_db).
См. также Полный список параметров MariaDB, системных и статусных переменных.
auto_increment_increment
-
Описание: Приращение для всех значений AUTO_INCREMENT на сервере, по умолчанию
1. Предназначено для использования в репликации первичный-первичный репликации. -
Команда:
--auto-increment-increment[=#] - Область: Глобальная, Сеансовая
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
1 -
Диапазон:
1до65535
auto_increment_offset
-
Описание: Смещение для всех значений AUTO_INCREMENT на сервере, по умолчанию
1. Предназначено для использования в репликации первичный-первичный репликации. Должно быть меньшеauto_increment_increment, за исключением случаев, когда обе переменные равны 1 (стандартная настройка). -
Команда:
--auto-increment-offset[=#] - Область: Глобальная, Сеансовая
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
1 -
Диапазон:
1до65535
binlog_alter_two_phase
- Описание: При установке разделит ALTER в двоичном журнале на две команды: START ALTER и COMMIT/ROLLBACK ALTER. Рекомендовано для длительных ALTER-таблиц, чтобы операция могла начаться на реплике до ее фактического выполнения на первичном сервере.
-
Команда:
--binlog-alter-two-phase[={0|1}] - Область: Глобальная, Сеансовая
- Динамическая: Да
-
Тип данных:
boolean -
Значение по умолчанию:
OFF - Введено: MariaDB 10.8.1
binlog_annotate_row_events
- Описание: Этот параметр сообщает первичному серверу записывать annotate_rows_events в двоичный журнал.
-
Команда:
--binlog-annotate-row-events[={0|1}] - Область: Глобальная, Сеансовая
- Динамическая: Да
- Тип данных: boolean
-
Значение по умолчанию:
-
ON(>= MariaDB 10.2.4) -
OFF(<= MariaDB 10.2.3)
-
binlog_do_db
-
Описание: Этот параметр позволяет настроить первичный сервер репликации записывать команды и транзакции, затрагивающие базы данных с указанным именем, в свой двоичный журнал. Поскольку отфильтрованные команды или транзакции не будут присутствовать в двоичном журнале, реплики не смогут их реплицировать.
- Этот параметр не будет работать с межбазовыми обновлениями при использовании журналирования на основе команд. См. раздел Журналирование на основе команд для получения дополнительной информации.
- До MariaDB 11.2.0 доступен только как параметр, а не как системная переменная. Этот параметр нельзя задать динамически.
- При установке его в командной строке или в группе параметров сервера в файле параметров, параметр не принимает список, разделенный запятыми. Если вы хотите указать несколько фильтров, вам нужно указать этот параметр несколько раз.
- См. Фильтры репликации для получения дополнительной информации.
-
Команда:
--binlog-do-db=# - Область: Глобальная
- Динамическая: Нет
-
Тип данных:
string - Значение по умолчанию: NULL
- Введено: MariaDB 11.2.0
binlog_cache_size
- Описание: Если двоичный журнал активен, эта переменная определяет размер в байтах кэша на подключение, хранящего запись о изменениях двоичного журнала в ходе транзакции. Отдельная переменная binlog_stmt_cache_size устанавливает верхний предел для кэша команд. Переменные состояния сервера binlog_cache_disk_use и binlog_cache_use покажут, нужно ли увеличивать эту переменную (вы хотите низкое отношение binlog_cache_disk_use к binlog_cache_use).
-
Команда:
--binlog-cache-size=# - Область: Глобальная
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
32768 -
Диапазон (32 бита):
4096до4294967295 -
Диапазон (64 бита):
4096до18446744073709547520
binlog_checksum
- Описание: Указывает тип BINLOG_CHECKSUM_ALG для событий журнала в двоичном журнале.
-
Команда:
-
--binlog-checksum=name -
--binlog-checksum=[0|1]
-
- Область: Глобальная
- Динамическая: Да
-
Тип данных:
string -
Значение по умолчанию:
-
CRC32(>= MariaDB 10.2.1) -
NONE(<= MariaDB 10.2.0)
-
-
Допустимые значения:
NONE(0),CRC32(1)
binlog_commit_wait_count
- Описание: Настраивает поведение групповой фиксации для двоичного журнала, что может помочь увеличить пропускную способность транзакций и используется для включения консервативного режима параллельной репликации в порядке следования. С групповой фиксацией для двоичного журнала, сервер может отложить сброс завершенной транзакции в двоичный журнал до тех пор, пока заданное количество транзакций не будет готово к сбросу как группа. Однако отсрочка не будет превышать значения, заданного переменной binlog_commit_wait_usec. Значение по умолчанию 0 означает, что задержка не вводится. Установка этого значения может уменьшить ввод/вывод в двоичный журнал и предоставить больше возможностей для параллельного применения на реплике, когда включен консервативный режим параллельной репликации в порядке следования, но слишком высокое значение уменьшит пропускную способность транзакций. Мониторинг переменной состояния binlog_group_commit_trigger_count (>=MariaDB 10.1.5) позволит увидеть, как часто это происходит.
- Начиная с MariaDB 10.0.18 и MariaDB 10.1.4: Если сервер обнаруживает, что одна из транзакций, выполняющих фиксацию T1, удерживает блокировку строки InnoDB, на которую ожидает другая транзакция T2, то фиксация завершится немедленно, без дальнейшей задержки. Это помогает избежать потерь пропускной способности, когда многие транзакции нуждаются в конфликтующих блокировках. Это часто делает использование этого параметра безопасным без потери пропускной способности на реплике с консервативным режимом параллельной репликации в порядке следования, при условии, что значение slave_parallel_threads достаточно высокое.
-
Команда:
--binlog-commit-wait-count=#] - Область: Глобальная
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
0 -
Диапазон:
0до18446744073709551615
binlog_commit_wait_usec
-
Описание: Настраивает поведение групповой фиксации для бинарного лога, что может помочь увеличить пропускную способность транзакций и используется для включения консервативного режима упорядоченной параллельной репликации. С групповой фиксацией для бинарного лога сервер может отложить сброс завершённой транзакции в бинарный лог до тех пор, пока транзакция не подождёт заданное количество микросекунд. Отслеживая переменную состояния binlog_group_commit_trigger_timeout (>=MariaDB 10.1.5), можно увидеть, как часто выполняются групповые фиксации из-за
binlog_commit_wait_usec. Однако, как только количество ожидающих фиксаций достигнет binlog_commit_wait_count, ожидание будет прервано. Таким образом, данная настройка вступает в силу только еслиbinlog_commit_wait_countне равно нулю. -
Команда:
--binlog-commit-wait-usec# - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
100000 -
Диапазон:
0до18446744073709551615
binlog_direct_non_transactional_updates
- Описание: Несоответствия в репликации могут возникнуть, когда транзакция обновляет как транзакционные, так и не транзакционные таблицы, а обновления не транзакционных таблиц видны до записи в бинарный лог. Это происходит потому, что для сохранения причинности не транзакционные операторы записываются в кеш транзакций, который сбрасывается только при фиксации. Установка binlog_direct_non_transactional_updates в 1 (по умолчанию 0) заставит не транзакционные таблицы записываться непосредственно в бинарный лог, а не в кеш транзакций. Эта настройка не оказывает никакого влияния при использовании строчно-ориентированного ведения бинарного лога, так как требуется операторно-ориентированное ведение. См. binlog_format. Используйте с осторожностью и только в ситуациях, где нет зависимостей между не транзакционными и транзакционными таблицами, например, при INSERT в не транзакционную таблицу на основе результатов SELECT из транзакционной таблицы.
-
Команда:
--binlog-direct-non-transactional-updates[=value] - Область действия: Глобальная, Сессия
- Динамическая: Да
-
Тип данных:
boolean -
Значение по умолчанию:
OFF (0)
binlog_expire_logs_seconds
-
Описание: Если не равно нулю, бинарные лог-файлы будут удалены через
binlog_expire_logs_secondsсекунд. Возможные удаления происходят при запуске и при ротации бинарного лога. Начиная с MariaDB 10.6.1,binlog_expire_logs_secondsи expire_logs_days являются псевдонимами, так что изменения в одном автоматически отражаются в другом. -
Команда:
--binlog-expire-logs-seconds=# - Область действия: Глобальная, Сессия
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
0 -
Диапазон:
0до4294967295 - Введено: MariaDB 10.6.1
binlog_file_cache_size
- Описание: Размер кеша в оперативной памяти, который выделяется при чтении файлов бинарного лога и файла репликации.
-
Команда:
--binlog-file-cache-size=# - Область действия: Глобальная, Сессия
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
16384 -
Диапазон:
8192до18446744073709551615 - Введено: MariaDB 10.3.3
binlog_format
-
Описание: Определяет, является ли репликация строчно-ориентированной, операторно-ориентированной или смешанной. Операторно-ориентированная была по умолчанию до MariaDB 10.2.3. Будьте внимательны при изменении формата бинарного лога, когда уже запущена среда репликации. См. Форматы бинарных логов. Начиная с MariaDB 10.0.22, реплика будет применять любые события, полученные от первичного сервера, независимо от формата бинарного лога.
binlog_formatотносится только к обычным (не реплицированным) обновлениям. -
Команда:
--binlog-format=format - Область действия: Глобальная, Сессия
- Динамическая: Да
-
Тип данных:
enumeration -
Значение по умолчанию:
-
MIXED(>= MariaDB 10.2.4) -
STATEMENT(<= MariaDB 10.2.3)
-
-
Допустимые значения:
ROW,STATEMENTилиMIXED
binlog_ignore_db
-
Описание: Этот параметр позволяет настроить первичный сервер репликации, чтобы он не записывал операторы и транзакции, влияющие на базы данных, соответствующие указанному имени, в свой бинарный лог. Поскольку отфильтрованные операторы или транзакции не будут присутствовать в бинарном логе, его реплики не смогут их реплицировать.
- Этот параметр не будет работать с межбазовыми обновлениями при операторно-ориентированном ведении бинарного лога. См. раздел «Операторно-ориентированное ведение» в разделе Фильтры репликации для получения дополнительной информации.
- До MariaDB 11.2.0 доступен только в качестве параметра, а не системной переменной. Этот параметр не может быть установлен динамически.
- При установке его в командной строке или в группе параметров сервера в файле параметров опция не принимает запятой-разделенный список. Если вы хотите указать несколько фильтров, то вам нужно указать опцию несколько раз.
- См. Фильтры репликации для получения дополнительной информации.
-
Команда:
--binlog-ignore-db=name - Область действия: Глобальная
- Динамическая: Нет
-
Тип данных:
string - Значение по умолчанию: NULL
- Введено: MariaDB 11.2.0
binlog_optimize_thread_scheduling
- Описание: Выполнение быстрой части групповой фиксации в одном потоке для оптимизации планирования потоков ядра. Включено по умолчанию. Отключение приведет к выполнению каждой транзакции в групповой фиксации в отдельном потоке, что может быть медленнее при очень высокой конкурентности. Данный параметр в основном предназначен для тестирования одного алгоритма по сравнению с другим, и обычно менять его не требуется.
-
Команда:
--binlog-optimize-thread-schedulingили--skip-binlog-optimize-thread-scheduling - Область действия: Глобальная
- Динамическая: Нет
-
Тип данных:
boolean -
Значение по умолчанию:
ON
binlog_row_event_max_size
- Описание: Максимальный размер события строчно-ориентированного бинарного лога в байтах. Строки будут сгруппированы в события, меньшие этого размера, если это возможно. Значение должно быть кратно 256. До MariaDB 11.2.0, доступен только в качестве опции, а не системной переменной.
-
Команда:
--binlog-row-event-max-size=val - Область действия: Глобальная, Сессия
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
8192 -
Диапазон:
256до4294967040(кратными 256) - Введено: MariaDB 11.2.0
binlog_row_image
-
Описание: Управляет тем, в каком формате (FULL, NOBLOB или MINIMAL) строки должны записываться в бинарный журнал при строчной репликации. В строчной репликации (переменная не влияет на репликацию по операторам), каждое изменение строки содержит изображение для сопоставления при выборе строки для обновления и другое изображение, содержащее изменения. До введения этой переменной все столбцы записывались для обоих этих изображений. В определенных ситуациях это не обязательно, и можно сэкономить ресурсы памяти, диска и сети, используя частичную запись. Обратите внимание, что для безопасного изменения этого параметра от значения по умолчанию таблица, в которую выполняется репликация, должна содержать идентичные определения первичного ключа, и столбцы должны быть присутствовать в том же порядке и использовать те же типы данных, что и исходная таблица. Если эти условия не соблюдаются, соответствия могут быть определены неверно, и обновления и удаления на реплике могут разойтись без предупреждений или ошибок.
-
FULL: Записываются все столбцы в изображении до и после. Это значение по умолчанию и единственное поведение в более ранних версиях. -
NOBLOB: mysqld избегает записи столбцов BLOB и TEXT всякий раз, когда это возможно (например, если столбец BLOB не был изменён или не входит в состав первичного ключа). -
MINIMAL: Эквивалент первичного ключа (столбцы первичного ключа или полная строка, если в таблице нет первичного ключа) записывается в изображении до, а изменённые столбцы — в изображении после.
-
-
Командная строка:
--binlog-row-image=value - Область действия: Глобальная, Сеанс
- Динамическая: Да
-
Тип данных:
enum -
Значение по умолчанию:
FULL -
Допустимые значения:
FULL,NOBLOBилиMINIMAL
binlog_row_metadata
-
Описание: Управляет форматом записи метаданных в бинарный журнал.
-
NO_LOG: Метаданные не записываются (по умолчанию). -
MINIMAL: Записываются только метаданные, необходимые реплике. -
FULL: Записываются все метаданные.
-
-
Командная строка:
--binlog-row-metadata=value - Область действия: Глобальная, Сеанс
- Динамическая: Да
-
Тип данных:
enum -
Значение по умолчанию:
NO_LOG -
Допустимые значения:
NO_LOG,MINIMAL,FULL - Введено в: MariaDB 10.5.0
binlog_stmt_cache_size
- Описание: Если бинарный журнал активен, эта переменная определяет размер в байтах кэша, хранящего запись изменений бинарного журнала вне транзакции. Переменная binlog_cache_size определяет размер кэша для операторов бинарного журнала внутри транзакции. Переменные состояния сервера binlog_stmt_cache_disk_use и binlog_stmt_cache_use укажут, следует ли увеличивать эту переменную (вы хотите низкое отношение binlog_stmt_cache_disk_use к binlog_stmt_cache_use).
-
Командная строка:
--binlog-stmt-cache-size=# - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
32768 -
Диапазон (32 бита):
4096до4294967295 -
Диапазон (64 бита):
4096до18446744073709547520
default_master_connection
- Описание: При многоисточниковой репликации указывает, какой соединение будет использоваться для команд и переменных, если вы не укажете соединение.
- Командная строка: Нет
- Область действия: Сеанс
- Динамическая: Да
-
Тип данных:
string -
Значение по умолчанию:
''(пустая строка)
encrypt_binlog
- Описание: Шифрование бинарных логов (включая релейные логи). См. Шифрование данных в хранилище и Шифрование бинарных логов.
-
Командная строка:
--encrypt-binlog[={0|1}] - Область действия: Глобальная
- Динамическая: Нет
-
Тип данных:
boolean -
Значение по умолчанию:
OFF
expire_logs_days
-
Описание: Количество дней, после которых бинарный журнал может быть автоматически удалён. По умолчанию 0, или автоматическое удаление не происходит. При использовании репликации всегда должно быть больше максимального отставания любой реплики. Удаление происходит при запуске сервера, при записи бинарного журнала, при создании следующего бинарного журнала после достижения предыдущим максимального размера или при выполнении PURGE BINARY LOGS. Единицы — целые дни (целое число) до MariaDB 10.6.0, или точность 1/1000000 (дробное число) начиная с MariaDB 10.6.1.
Начиная с MariaDB 10.6.1,expire_logs_daysи binlog_expire_logs_seconds — это формы псевдонимов, так что изменения одного автоматически отражаются в другом. -
Командная строка:
--expire-logs-days=# - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
0.000000(>= MariaDB 10.6.1),0(<= MariaDB 10.6.0) -
Диапазон:
0до99
init_slave
- Описание: Аналогично init_connect, но строка содержит один или несколько операторов SQL, разделенных точкой с запятой, которые будут выполняться сервером реплики каждый раз при запуске потока SQL. Эти операторы выполняются только после отправки подтверждения реплике и завершения START SLAVE.
-
Командная строка:
--init-slave=name - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
string -
Связанные переменные:
init_connect
log_bin
-
Описание: Включена ли запись бинарного журнала. Если используется опция --log-bin опции, то log_bin будет установлен в ВКЛ, иначе — ВЫКЛ. Если для
nameне указана опция--log-bin, то будет использоватьсяdatadir/'log-basename'-binили'datadir'/mysql-bin(последнее, если не указан --log-basename). Сильно рекомендуем использовать либо--log-basenameили указывать имя файла, чтобы репликация не прекратилась, если реальное имя хоста компьютера изменится. Имя может необязательно включать абсолютный путь. Если путь не указан, журнал будет записан в каталог данных. Имя может необязательно включать расширение файла; оно будет удалено, и будет использоваться только имя файла без расширения. -
Командная строка:
--log-bin[=name] - Область действия: Глобальная
- Динамическая: Нет
-
Тип данных:
boolean -
Значение по умолчанию:
OFF -
Связанные переменные:
sql_log_bin
log_bin_basename
-
Описание: Полный путь к именам файлов бинарного журнала, за исключением расширения. Его значение выводится из правил, указанных в переменной состояния сервера
log_bin. -
Командная строка:
No commandline option - Область действия: Глобальная
- Динамическая: Нет
-
Тип данных:
string - Значение по умолчанию: Нет
-
Динамическая:
No
log_bin_compress
-
Описание: Возможно ли сжатие бинарного журнала.
0(значение по умолчанию) означает, что сжатие отключено. См. Сжатие событий для уменьшения размера бинарного журнала. -
Командная строка:
--log-bin-compress - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
boolean -
Значение по умолчанию:
OFF
log_bin_compress_min_len
- Описание: Минимальная длина SQL-запроса (в режиме запроса) или записи (в режиме строки), которые могут быть сжаты. См. Сжатие событий для уменьшения размера двоичного журнала.
-
Командная строка:
--log-bin-compress-min-len - Область действия: Глобальная
- Динамическое: Да
-
Тип данных:
numeric -
Значение по умолчанию:
256 -
Диапазон:
10до1024
log_bin_index
- Описание: Файл, содержащий имена последних файлов двоичного журнала.
-
Командная строка:
--log-bin-index=name - Область действия: Глобальная
- Динамическое: Нет
-
Тип данных:
string - Значение по умолчанию: Нет
log_bin_trust_function_creators
-
Описание: Функции и триггеры могут быть опасны при использовании с репликацией. Определенные типы функций и триггеров могут иметь непредвиденные последствия, когда инструкции применяются на реплике. По этой причине существуют некоторые ограничения на создание функций и триггеров, когда двоичный журнал (binary log) включен по умолчанию, например:
- Когда
log_bin_trust_function_creatorsравноOFFиlog_binравноON, инструкцииCREATE FUNCTIONиALTER FUNCTIONбудут вызывать ошибку, если функция определена с любыми из характеристикNOT DETERMINISTIC,CONTAINS SQLилиMODIFIES SQL DATA. - Это означает, что когда
log_bin_trust_function_creatorsравноOFFиlog_binравноON, инструкцииCREATE FUNCTIONиALTER FUNCTIONбудут выполнены успешно только в том случае, если функция определена с любой из характеристикDETERMINISTIC,NO SQL, илиREADS SQL DATA. - Когда
log_bin_trust_function_creatorsравноOFFиlog_binравноON, для выполнения следующих инструкций также требуется привилегияSUPER: - Установление
log_bin_trust_function_creatorsв значениеONудаляет эти требования к характеристикам функций и привилегиямSUPER. - См. Двоичное протоколирование хранимых процедур для получения дополнительной информации.
- Когда
-
Командная строка:
--log-bin-trust-function-creators[={0|1}] - Область действия: Глобальная
- Динамическое: Да
-
Тип данных:
boolean -
Значение по умолчанию:
OFF
log_slow_slave_statements
- Описание: Записывает медленные запросы, выполненные репликой, в журнал медленных запросов (slow log), если он открыт. До MariaDB 10.1.13 это было доступно только как опция mysqld, а не как переменная сервера.
-
Командная строка:
--log-slow-slave-statements - Область действия: Глобальная
- Динамическое: Да
-
Тип данных:
boolean -
Значение по умолчанию:
-
ON(>= MariaDB 10.2.4) -
OFF(<= MariaDB 10.2.3)
-
log_slave_updates
-
Описание: Если установлено в значение
0, по умолчанию, обновления, полученные от первичного сервера во время репликации, не регистрируются в двоичном журнале реплики. Если установлено в значение1, они регистрируются. Двоичный журнал реплики должен быть включен для того, чтобы это имело эффект. Установите в значение1для построения цепочки реплик. -
Командная строка:
--log-slave-updates - Область действия: Глобальная
- Динамическое: Нет
-
Тип данных:
boolean -
Значение по умолчанию:
OFF
master_verify_checksum
- Описание: Проверка контрольных сумм двоичного журнала (binlog checksums) при чтении событий из двоичного журнала на первичном сервере.
-
Командная строка:
--master-verify-checksum=[0|1] - Область действия: Глобальная
- Тип доступа: Может быть изменён динамически
-
Тип данных:
bool -
Значение по умолчанию:
OFF (0)
max_binlog_cache_size
-
Описание: Ограничивает размер (в байтах) используемого кэша для многотранзакционных запросов. Если требуется больше байтов, генерируется ошибка
Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage. При изменении значения текущие сессии не затронуты, только сессии, начатые впоследствии. См. max_binlog_stmt_cache_size и binlog_cache_size. -
Командная строка:
--max-binlog-cache-size=# - Область действия: Глобальная
- Динамическое: Да
-
Тип данных:
numeric -
Значение по умолчанию:
18446744073709547520 -
Диапазон:
4096до18446744073709547520
max_binlog_size
- Описание: Если размер двоичного журнала (binary log) превысит это значение после записи, сервер переключится на новый двоичный журнал, закрыв предыдущий. Одиночные транзакции всегда хранятся в одном двоичном журнале, поэтому сервер подождёт завершения открытых транзакций перед переключением. Это значение также применяется к размеру журналов репликации (relay logs), если max_relay_log_size установлено в ноль.
-
Командная строка:
--max-binlog-size=# - Область действия: Глобальная
- Динамическое: Да
-
Тип данных:
numeric -
Значение по умолчанию:
1073741824(1 ГБ) -
Диапазон:
4096 to 1073741824(4 КБ до 1 ГБ)
max_binlog_stmt_cache_size
- Описание: Ограничивает размер, используемый для кэширования не транзакционных инструкций. См. max_binlog_cache_size и binlog_stmt_cache_size.
-
Командная строка:
--max-binlog-stmt-cache-size=# - Область действия: Глобальная
- Динамическое: Да
-
Тип данных:
numeric -
Значение по умолчанию:
18446744073709547520(64 бита),4294963200(32 бита) -
Диапазон:
4096до18446744073709547520
max_relay_log_size
- Описание: Реплика переключит свой журнал репликации (relay log), если он превысит этот размер после записи. Если установлено в 0, используется значение max_binlog_size. Ранее только глобальная настройка, но с реализацией многоисточниковой репликации, её можно задать и на уровне сессии.
-
Командная строка:
--max-relay-log-size=# - Область действия: Глобальная, Сессия
- Динамическое: Да
-
Тип данных:
numeric -
Значение по умолчанию:
0 -
Диапазон:
0, или4096 to 1073741824(4 КБ до 1 ГБ)
read_binlog_speed_limit
- Описание: Ограничивает скорость, с которой реплика может считывать двоичный журнал с первичного сервера. Это может использоваться для снижения нагрузки на первичный сервер, если многие реплики одновременно загружают большие объёмы старых файлов двоичного журнала. Скорость сетевого трафика будет ограничена указанным числом килобайт в секунду.
-
Командная строка:
--read-binlog-speed-limit=# - Область действия: Глобальная
- Динамическое: Да
-
Тип данных:
numeric -
Значение по умолчанию:
0(без ограничения) -
Диапазон:
0до18446744073709551615
relay_log
-
Описание: Имя файла журнала репликации (Relay log) без расширения. Если не задано, имя файла будет
hostname-relay-bin. -
Командная строка:
--relay-log=file_name - Область действия: Глобальная
- Динамическое: Нет
-
Тип данных:
filename -
Значение по умолчанию:
''(нет)
relay_log_basename
- Описание: Полный путь к имени файла журнала репликации, без расширения. Его значение выводится из значения переменной relay-log.
-
Командная строка:
No commandline option - Область действия: Глобальная
- Динамическое: Нет
-
Тип данных:
string - Значение по умолчанию: Нет
-
Динамическое:
No
relay_log_index
- Описание: Имя и расположение файла индекса лога ретрансляции (relay log), который хранит список последних логов ретрансляции. По умолчанию hostname-relay-bin.index.
-
Командная строка:
--relay-log-index=name - Область: Глобальная
- Динамическое: Нет
-
Тип данных:
string - Значение по умолчанию: Нет
relay_log_info_file
-
Описание: Имя и расположение файла, в котором записываются параметры
RELAY_LOG_FILEиRELAY_LOG_POS(т.е. позиция лога ретрансляции (relay log)) для инструкции CHANGE MASTER. Поток SQL реплики (replica's SQL thread) сохраняет обновленную позицию лога ретрансляции (relay log) по мере применения событий.- Дополнительную информацию см. в разделе CHANGE MASTER TO: Сохранение параметров.
-
Командная строка:
--relay-log-info-file=file_name - Область: Глобальная
- Динамическое: Нет
-
Тип данных:
string -
Значение по умолчанию:
relay-log.info
relay_log_purge
-
Описание: Если установлено значение
1(по умолчанию), логи ретрансляции (relay logs) будут очищены, как только они больше не будут необходимы. -
Командная строка:
--relay-log-purge={0|1} - Область: Глобальная
- Динамическое: Да
-
Тип данных:
boolean -
Значение по умолчанию:
ON - Примечание: В MySQL и MariaDB до версии 10.0.8 эта переменная неявно менялась при выполнении CHANGE MASTER.
relay_log_recovery
-
Описание: Если установлено значение
1(0по умолчанию), при запуске реплики будут удалены все логи ретрансляции (relay logs), которые ещё не обработаны, и будут получены логи ретрансляции с первичного сервера. Может быть полезно после сбоя реплики для предотвращения обработки повреждённых логов ретрансляции. relay_log_recovery всегда следует устанавливать вместе с relay_log_purge. Установкаrelay-log-recovery=1сrelay-log-purge=0может привести к чтению лога ретрансляции из файлов, которые не были очищены, что приведёт к несоответствию данных. -
Командная строка:
--relay-log-recovery - Область: Глобальная
- Динамическое: Да
-
Тип данных:
boolean -
Значение по умолчанию:
OFF
relay_log_space_limit
-
Описание: Устанавливает максимальный объём, используемый для логов ретрансляции (relay logs). Поток ввода-вывода (IO) будет приостановлен до тех пор, пока поток SQL не очистит очередь. По умолчанию
0, или без ограничения. -
Командная строка:
--relay-log-space-limit=# - Область: Глобальная
- Динамическое: Нет
-
Тип данных:
numeric -
Значение по умолчанию:
0 -
Диапазон (32 бита):
0до4294967295 -
Диапазон (64 бита):
0до18446744073709547520
replicate_annotate_row_events
- Описание: Указывает реплике воспроизвести события annotate_rows_events, полученные с первичного сервера, в своём собственном двоичном журнале. Этот параметр имеет смысл только при использовании совместно с параметром log_slave_updates.
-
Командная строка:
--replicate-annotate-row-events - Область: Глобальная
- Динамическое: Нет
-
Тип данных:
boolean -
Значение по умолчанию:
-
ON(>= MariaDB 10.2.4) -
OFF(<= MariaDB 10.2.3)
-
replicate_do_db
-
Описание: Эта системная переменная позволяет настроить реплику (replica) на применение операторов и транзакций, влияющих на базы данных, соответствующие указанному имени.
- Эта системная переменная не будет работать с межбазовыми обновлениями при использовании логирования на основе операторов. Подробности см. в разделе Логирование на основе операторов.
- При динамической установке с помощью
SET GLOBAL, системная переменная принимает список фильтров, разделённых запятыми. - При установке в командной строке или в группе параметров сервера в файле конфигурации, системная переменная не принимает список, разделённый запятыми. Если необходимо указать несколько фильтров, то системную переменную нужно указать несколько раз.
- Дополнительную информацию см. в разделе Фильтры репликации.
-
Командная строка:
--replicate-do-db=name - Область: Глобальная
- Динамическое: Да
-
Тип данных:
string -
Значение по умолчанию:
''(пустое)
replicate_do_table
-
Описание: Эта системная переменная позволяет настроить реплику (replica) на применение операторов и транзакций, которые влияют на таблицы, соответствующие указанному имени. Имя таблицы указано в формате:
dbname.tablename.- Эта системная переменная не будет работать с межбазовыми обновлениями при использовании логирования на основе операторов. Подробности см. в разделе Логирование на основе операторов.
- При динамической установке с помощью
SET GLOBAL, системная переменная принимает список фильтров, разделённых запятыми. - При установке в командной строке или в группе параметров сервера в файле конфигурации, системная переменная не принимает список, разделённый запятыми. Если необходимо указать несколько фильтров, то системную переменную нужно указать несколько раз.
- Дополнительную информацию см. в разделе Фильтры репликации.
-
Командная строка:
--replicate-do-table=name - Область: Глобальная
- Динамическое: Да
-
Тип данных:
string -
Значение по умолчанию:
''(пустое)
replicate_events_marked_for_skip
-
Описание: Указывает реплике, нужно ли реплицировать события, помеченные флагом
@@skip_replication. Дополнительную информацию см. в разделе Выборочное пропускание репликации событий из бинарного журнала. -
Командная строка:
--replicate-events-marked-for-skip - Область: Глобальная
- Динамическое: Да
-
Тип данных:
enumeration -
Значение по умолчанию:
replicate -
Допустимые значения:
REPLICATE,FILTER_ON_SLAVE,FILTER_ON_MASTER
replicate_ignore_db
-
Описание: Эта системная переменная позволяет настроить реплику (replica) на игнорирование операторов и транзакций, влияющих на базы данных, соответствующие указанному имени.
- Эта системная переменная не будет работать с межбазовыми обновлениями при использовании логирования на основе операторов. Подробности см. в разделе Логирование на основе операторов.
- При динамической установке с помощью
SET GLOBAL, системная переменная принимает список фильтров, разделённых запятыми. - При установке в командной строке или в группе параметров сервера в файле конфигурации, системная переменная не принимает список, разделённый запятыми. Если необходимо указать несколько фильтров, то системную переменную нужно указать несколько раз.
- Дополнительную информацию см. в разделе Фильтры репликации.
-
Командная строка:
--replicate-ignore-db=name - Область: Глобальная
- Динамическое: Да
-
Тип данных:
string -
Значение по умолчанию:
''(пустое)
replicate_ignore_table
-
Описание: Эта системная переменная позволяет настроить репликацию для игнорирования инструкций и транзакций, затрагивающих таблицы, соответствующие заданному имени. Имя таблицы указывается в формате:
dbname.tablename.- Эта системная переменная не будет работать с межбазовыми обновлениями при использовании протокола логгирования инструкций statement-based logging. Подробнее см. раздел Логгирование инструкций.
- При динамическом изменении с помощью
SET GLOBAL, системная переменная принимает список фильтров, разделённых запятыми. - При установке через командную строку или в группе опций сервера группа опций в файле опций файл опций, системная переменная не принимает список, разделённый запятыми. Если вам нужно указать несколько фильтров, необходимо указать системную переменную несколько раз.
- Дополнительную информацию см. в разделе Фильтры репликации.
-
Командная строка:
--replicate-ignore-table=name - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
string -
Значение по умолчанию:
''(пустая строка)
replicate_rewrite_db
-
Описание: Эта опция позволяет настроить репликацию для переименования имен баз данных. Используется формат
primary_database->replica_database. Если реплика встречает событие бинарного журнала бинарный журнал, в котором база данных по умолчанию (т.е. та, которая выбрана операторомUSE) равнаprimary_database, то реплика применит это событие вreplica_databaseвместо этого.- Эта опция не будет работать с межбазовыми обновлениями при использовании протокола логгирования инструкций statement-based logging. Подробнее см. раздел Логгирование инструкций.
- Эта опция влияет только на инструкции, связанные с таблицами. Она не влияет на инструкции, связанные с самой базой данных, такие как CREATE DATABASE, ALTER DATABASE и DROP DATABASE.
- При установке через командную строку или в группе опций сервера группа опций в файле опций файл опций, опция не принимает список, разделённый запятыми. Если вам нужно указать несколько фильтров, необходимо указать опцию несколько раз.
- Дополнительную информацию см. в разделе Фильтры репликации.
- До версии MariaDB 10.11 опция
replicate_rewrite_dbбыла доступна только как параметр mariadbd/mysqld и не могла быть установлена динамически. Начиная с MariaDB 10.11, она доступна как динамическая системная переменная.
-
Командная строка:
--replicate-rewrite-db=primary_database->replica_database - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
string -
Значение по умолчанию:
''(пустая строка) - Введено: MariaDB 10.11.0
replicate_wild_do_table
-
Описание: Эта системная переменная позволяет настроить репликацию для применения инструкций и транзакций, затрагивающих таблицы, соответствующие указанному шаблону с подстановкой символов. Шаблон с подстановкой символов использует ту же семантику, что и оператор
LIKE.- Эта системная переменная будет работать с межбазовыми обновлениями при использовании протокола логгирования инструкций statement-based logging. Подробнее см. раздел Логгирование инструкций.
- При динамическом изменении с помощью
SET GLOBAL, системная переменная принимает список фильтров, разделённых запятыми. - При установке через командную строку или в группе опций сервера группа опций в файле опций файл опций, системная переменная не принимает список, разделённый запятыми. Если вам нужно указать несколько фильтров, необходимо указать системную переменную несколько раз.
- Дополнительную информацию см. в разделе Фильтры репликации.
-
Командная строка:
--replicate-wild-do-table=name - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
string -
Значение по умолчанию:
''(пустая строка)
replicate_wild_ignore_table
-
Описание: Эта системная переменная позволяет настроить репликацию для игнорирования инструкций и транзакций, затрагивающих таблицы, соответствующие указанному шаблону с подстановкой символов. Шаблон с подстановкой символов использует ту же семантику, что и оператор LIKE.
- Эта системная переменная будет работать с межбазовыми обновлениями при использовании протокола логгирования инструкций statement-based logging. Подробнее см. раздел Логгирование инструкций.
- При динамическом изменении с помощью SET GLOBAL, системная переменная принимает список фильтров, разделённых запятыми.
- При установке через командную строку или в группе опций сервера группа опций в файле опций файл опций, системная переменная не принимает список, разделённый запятыми. Если вам нужно указать несколько фильтров, необходимо указать системную переменную несколько раз.
- Дополнительную информацию см. в разделе Фильтры репликации.
-
Командная строка:
--replicate-wild-ignore-table=name - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
string -
Значение по умолчанию:
''(пустая строка)
report_host
- Описание: Имя хоста или IP-адрес, к которому реплика сообщает о себе первичному серверу при регистрации. Если эта опция не задана, реплика не будет регистрироваться. Отслеживается командой SHOW SLAVE HOSTS. Обратите внимание, что для первичного сервера недостаточно просто прочитать IP-адрес реплики из сокета после подключения реплики. Из-за NAT и других проблем с маршрутизацией этот IP-адрес может быть недействительным для подключения к реплике из первичного сервера или других хостов.
-
Командная строка:
--report-host=host_name - Область действия: Глобальная
- Динамическая: Нет
-
Тип данных:
string
report_password
-
Описание: Пароль реплики, сообщённый первичному серверу при регистрации. Отслеживается командой SHOW SLAVE HOSTS, если
--show-slave-auth-infoзадан. Этот пароль не связан с привилегиями пользователя или паролем пользователя репликации. -
Командная строка:
--report-password=password - Область действия: Глобальная
- Динамическая: Нет
-
Тип данных:
string
report_port
- Описание: Опция командной строки устанавливает TCP/IP порт для подключения к реплике, который будет сообщён первичному серверу во время регистрации реплики. Просмотр переменной покажет это значение.
-
Командная строка:
--report-port=# - Область действия: Глобальная
- Динамическая: Нет
-
Тип данных:
numeric -
Значение по умолчанию:
0 -
Диапазон:
0до65535
report_user
-
Описание: Имя пользователя реплики, сообщённое первичному серверу при регистрации. Отслеживается командой SHOW SLAVE HOSTS, если
--show-slave-auth-infoзадан. Это имя пользователя не связано с привилегиями пользователя или с паролем пользователя репликации. -
Командная строка:
--report-user=name - Область действия: Глобальная
- Динамическая: Нет
-
Тип данных:
string
server_id
-
Описание: Эта системная переменная используется с репликацией MariaDB для идентификации уникальных серверов-источников и серверов-реплик в топологии. Эта системная переменная также используется с бинарным логом для определения сервера, на котором возникла конкретная транзакция.
- При использовании репликации MariaDB со стандартным сервером MariaDB каждый сервер в топологии репликации должен иметь уникальное значение
server_id. - При использовании репликации MariaDB с кластером MariaDB Galera, см. Использование репликации MariaDB с кластером MariaDB Galera: Установка server_id на узлах кластера для получения дополнительной информации о том, как установить значения
server_id. - В MariaDB 10.2.1 и ниже, значение
server_idпо умолчанию равно0. Если значениеserver_idреплики равно0, то все сервера-источники откажут в подключении. Если значениеserver_idсервера-источника равно0, то он откажет во всех попытках подключения реплики.
- При использовании репликации MariaDB со стандартным сервером MariaDB каждый сервер в топологии репликации должен иметь уникальное значение
-
Командная строка:
--server-id =# - Область действия: Глобальная, Сеанс
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
1 -
Диапазон:
1до4294967295
skip_parallel_replication
-
Описание: Если установлено при записи транзакции в бинарный лог, параллельное применение этой транзакции будет избегаться на реплике, где slave_parallel_mode не равно
aggressive. Может использоваться для предотвращения ненужных отката и повторных попыток для транзакций, которые, вероятно, вызовут конфликт при параллельной репликации. См. параллельную репликацию. - Командная строка: Нет
- Область действия: Сеанс
- Динамическая: Да
-
Тип данных:
boolean -
Значение по умолчанию:
OFF
skip_replication
-
Описание: Изменения записываются в бинарный лог с установленным флагом @@skip_replication. Такие события не будут реплицироваться репликой, которая работает с
--replicate-events-marked-for-skipустановленным отличным от значения по умолчаниюREPLICATE. См. Выборочное пропускание репликации событий бинарного лога для получения дополнительной информации. - Командная строка: Нет
- Область действия: Сеанс
- Динамическая: Да
-
Тип данных:
boolean -
Значение по умолчанию:
OFF
slave_compressed_protocol
- Описание: Если установлено в 1 (0 — значение по умолчанию), будет использоваться сжатие для протокола реплики/первичного сервера, если оба поддерживают это.
-
Командная строка:
--slave-compressed-protocol - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
boolean -
Значение по умолчанию:
0
slave_ddl_exec_mode
-
Описание: Режимы выполнения репликации событий DDL. Допустимые значения —
STRICTиIDEMPOTENT(по умолчанию). В режимеIDEMPOTENTреплика не будет останавливаться при ошибках DDL-операций, которые не приведут к отличиям между первичным и реплицированным серверами. В частности, CREATE TABLE рассматривается как CREATE OR REPLACE TABLE, а DROP TABLE какDROP TABLE IF EXISTS. -
Командная строка:
--slave-ddl-exec-mode=name - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
enumeration -
Значение по умолчанию:
IDEMPOTENT -
Допустимые значения:
IDEMPOTENT,STRICT
slave_domain_parallel_threads
- Описание: При установке значения отличного от нуля, каждый репликационный домен в одном подключении к первичному серверу может зарезервировать не более этого количества потоков-рабочих процессов в любое время, оставляя остальные (до значения slave_parallel_threads) свободными для использования другими подключениями к первичному серверу или репликационными доменами параллельно. См. Параллельную репликацию для получения подробной информации.
-
Командная строка:
--slave-domain-parallel-threads=# - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
0 -
Допустимые значения:
0до16383
slave_exec_mode
- Описание: Определяет режим проверки ошибок репликации и разрешения конфликтов. Режим STRICT является значением по умолчанию и ловит все ошибки и конфликты. Режим IDEMPOTENT подавляет ошибки дублирующего ключа или отсутствия ключа, что может быть полезно в определенных сценариях репликации, таких как наличие нескольких первичных серверов или круговой репликации.
- Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
enumeration -
Значение по умолчанию:
IDEMPOTENT(NDB),STRICT(Все) -
Допустимые значения:
IDEMPOTENT,STRICT
slave_load_tmpdir
- Описание: Каталог, в котором реплика хранит временные файлы для репликации инструкций LOAD DATA INFILE. Если не указано, реплика будет использовать tmpdir. Следует задать диск-базированный каталог, который сохранится после перезагрузки, иначе репликация может завершиться неудачей.
-
Командная строка:
--slave-load-tmpdir=path - Область действия: Глобальная
- Динамическая: Нет
-
Тип данных:
file name -
Значение по умолчанию:
/tmp
slave_max_allowed_packet
- Описание: Максимальный размер пакета в байтах для потоков SQL и ввода/вывода реплики. Это значение переопределяет max_allowed_packet для целей репликации. Устанавливается кратно 1024 (минимум) до 1 ГБ.
-
Командная строка:
--slave-max-allowed-packet=# - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
1073741824 -
Диапазон:
1024до1073741824
slave_net_timeout
- Описание: Время в секундах, которое реплика ждет дополнительных данных от первичного сервера, прежде чем считать подключение прерванным, после чего прервет чтение и попытается подключиться повторно. Интервал повторных попыток определяется параметром MASTER_CONNECT_RETRY для инструкции CHANGE MASTER, а максимальное количество попыток повторного подключения задается параметром master-retry-count. Первая попытка подключения происходит немедленно.
-
Командная строка:
--slave-net-timeout=# - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
-
60 (1 minute)
-
-
Диапазон:
1до31536000
slave_parallel_max_queued
-
Описание: При использовании параллельной репликации поток SQL потока будет предварительно читать в журналах реплики, создавая очередь событий в памяти при поиске возможностей параллельного выполнения событий. Эта системная переменная устанавливает ограничение на объем используемой памяти для этого.
- Настроенное значение этой системной переменной фактически выделяется для каждого потока рабочих потоков, поэтому общее выделение фактически эквивалентно следующему:
- Эта системная переменная имеет смысл только при настроенной параллельной репликации (т. е. когда
slave_parallel_threads>0). - См. Параллельная репликация: Настройка максимального размера очереди параллельной реплики для получения дополнительной информации.
-
Командная строка:
--slave-parallel-max-queued=# - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
131072 -
Диапазон:
0до2147483647
slave_parallel_mode
-
Описание: Управляет транзакциями, применяемыми параллельно при использовании параллельного реплицирования.
-
optimistic: пытается применить большинство транзакционных DML параллельно и обрабатывает любые конфликты с откатом и повторной попыткой. См. оптимистичный режим. -
conservative: ограничивает параллелизм, чтобы избежать конфликтов. См. консервативный режим. -
aggressive: пытается максимизировать параллелизм, возможно, за счет увеличения частоты конфликтов. -
minimal: параллелизует только шаги подтверждения транзакций. -
noneполностью отключает параллельное применение.
-
- Командная строка: Нет
- Область действия: Глобальная
- Динамическое: Да
-
Тип данных:
enum -
Значение по умолчанию:
optimistic(>= MariaDB 10.5.1),conservative(<= MariaDB 10.5.0) -
Допустимые значения:
conservative,optimistic,none,aggressiveиminimal
slave_parallel_threads
-
Описание: Эта системная переменная используется для настройки параллельного реплицирования.
- Если эта системная переменная установлена в значение, большее, чем
0, тогда ее значение определит, сколько репликационных рабочих потоков будет создано для параллельного применения событий бинарного журнала. - Если эта системная переменная установлена в
0(что является значением по умолчанию), тогда не будет создано ни одного репликационного рабочего потока. Вместо этого, при включении реплицирования, события бинарного журнала применяются репликационным SQL-потоком. - Репликационные потоки должны быть остановлены, чтобы изменить значение этого параметра динамически.
- События, которые были записаны с GTID с разными
gtid_domain_idзначениями, могут быть применены параллельно в последовательности вне очереди. Каждыйgtid_domain_idможет использовать количество потоков, настроенноеslave_domain_parallel_threads. - События, которые были группово подтверждены на первичном сервере, могут быть применены параллельно в последовательном порядке, и поведение можно настроить, установив
slave_parallel_mode.
- Если эта системная переменная установлена в значение, большее, чем
-
Командная строка:
--slave-parallel-threads=# - Область действия: Глобальная
- Динамическое: Да
-
Тип данных:
numeric -
Значение по умолчанию:
0 -
Диапазон:
0до16383
slave_parallel_workers
- Описание: Псевдоним для slave_parallel_threads.
-
Командная строка:
--slave-parallel-workers=#
slave_run_triggers_for_rbr
- Описание: См. Выполнение триггеров на реплике для событий на основе строк для описания и вариантов использования этого параметра.
-
Командная строка:
--slave-run-triggers-for-rbr=value - Область действия: Глобальная
- Динамическое: Да
-
Тип данных:
enum -
Значение по умолчанию:
NO -
Допустимые значения:
NO,YES,LOGGING, илиENFORCE(>= MariaDB 10.5.2)
slave_skip_errors
-
Описание: При возникновении ошибки на реплике, репликация обычно останавливается. Этот параметр позволяет игнорировать список кодов ошибок, для которых репликация будет продолжена. Этот параметр обычно не нужен в обычном использовании, а небрежное использование может привести к тому, что реплика будет не синхронизирована с первичным сервером. Коды ошибок указаны в формате номера из журнала ошибок реплики. Использование
allкак параметра позволяет реплике продолжать реплицирование независимо от возникающих ошибок, параметр, который вам никогда не понадобится в производстве, и который может быстро привести к несоответствиям данных. Подсчет таких ошибок ведется в slave_skipped_errors. -
Командная строка:
--slave-skip-errors=[error_code1,error_code2,...|all|ddl_exist_errors] - Область действия: Глобальная
- Динамическое: Нет
-
Тип данных:
string -
Значение по умолчанию:
OFF -
Допустимые значения:
[list of error codes],ALL,OFF
slave_sql_verify_checksum
- Описание: Проверка контрольных сумм бинарного журнала при чтении репликационным SQL-потоком событий из журнала репликации.
-
Командная строка:
--slave-sql-verify-checksum=[0|1] - Область действия: Глобальная
- Тип доступа: Можно изменить динамически
-
Тип данных:
bool -
Значение по умолчанию:
ON (1)
slave_transaction_retries
- Описание: Количество попыток репликации перепробовать выполнение SQL-потока после его сбоя из-за тупика в InnDB или превышения лимита времени выполнения транзакции. Если после этого количества попыток SQL-поток по-прежнему не выполнится, реплика остановится с ошибкой. См. также системную переменную innodb_lock_wait_timeout.
-
Командная строка:
--slave-transaction-retries=# - Область действия: Глобальная
- Динамическое: Да
-
Тип данных:
numeric -
Значение по умолчанию:
10 -
Диапазон (32 бита):
0до4294967295 -
Диапазон (64 бита):
0до18446744073709547520
slave_transaction_retry_errors
- Описание: При возникновении ошибки во время транзакции на реплике, репликация обычно останавливается. По умолчанию транзакции, вызвавшие тупик или превышение времени ожидания блокировки, будут перепробованы. Можно добавить другие ошибки в список ошибок, которые следует перепробовать, добавив в эту переменную список кодов ошибок через запятую. Это особенно полезно в некоторых конфигурациях Spider. Некоторые рекомендуемые ошибки для перепробовок в Spider: 1158,1159,1160,1161,1429,2013,12701. (С MariaDB 10.4.5, эти значения указаны в значении по умолчанию)
-
Командная строка:
--slave-transaction_retry-errors=[error_code1,error_code2,...] - Область действия: Глобальная
- Динамическое: Нет
-
Тип данных:
string -
Значение по умолчанию:
-
1158,1159,1160,1161,1205,1213,1429,2013,12701(>= MariaDB 10.4.5) -
1213,1205(>= MariaDB 10.3.3)
-
-
Допустимые значения:
comma-separated list of error codes - Введено: MariaDB 10.3.3
slave_transaction_retry_interval
-
Описание: Интервал в секундах, через который репликационный SQL-поток будет перепробовать невыполненную транзакцию из-за тупика, превышения времени ожидания блокировки или ошибки, указанной в slave_transaction_retry_errors. Интервал вычисляется как
max(slave_transaction_retry_interval, min(retry_count, 5)). -
Командная строка:
--slave-transaction-retry-interval=# - Область действия: Глобальная
- Динамическое: Да
-
Тип данных:
numeric -
Значение по умолчанию:
0 -
Диапазон:
0до3600 - Введено: MariaDB 10.3.3
slave_type_conversions
-
Описание: Определяет режим преобразования типов на реплике при использовании репликации на основе строк, включая репликации в кластере MariaDB Galera. Можно задать несколько вариантов, разделенных запятыми. Если поле пустое, то по умолчанию преобразования типов запрещены. Переменная динамическая, изменение ее значения вступает в силу немедленно. Эта переменная указывает серверу, что делать, если определение таблицы отличается на первичном и реплицированном серверах (например, столбец «int» на первичном и «bigint» на реплике).
-
ALL_NON_LOSSYозначает, что разрешены все безопасные преобразования (без потери данных). -
ALL_LOSSYозначает, что разрешены все преобразования с потерей данных (например, «bigint» в «int»). Однако это не означает, что разрешены и безопасные преобразования (без потери данных). Для разрешения всех преобразований необходимо разрешить как преобразования с потерей данных, так и без потери данных, установив эту переменную в значение ALL_NON_LOSSY,ALL_LOSSY. - Пустое значение (по умолчанию) означает, что сервер должен выдавать ошибку и репликация должна останавливаться, если определение таблицы отличается на первичном и реплицированном серверах.
-
-
Командная строка:
--slave-type-conversions=set - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
set -
Значение по умолчанию:
Empty variable -
Допустимые значения:
ALL_LOSSY,ALL_NON_LOSSY, пустое
sql_log_bin
- Описание: Если установлено в 0 (по умолчанию 1), ведение логов в двоичный лог для клиента не производится. Изменить эту переменную могут только клиенты с привилегией SUPER. Не влияет на репликацию событий в кластере Galera.
- Область действия: Сеанс
- Динамическая: Да
-
Тип данных:
boolean -
Значение по умолчанию:
1
sql_slave_skip_counter
- Описание: Количество событий, пропускаемых репликой от первичного сервера. Если это приведет к тому, что реплика начнётся в середине группы событий, реплика начнет с начала следующей группы событий. См. SET GLOBAL sql_slave_skip_counter.
- Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
0
sync_binlog
- Описание: MariaDB будет синхронизировать файл двоичного лога на диск после указанного количества событий. По умолчанию 0, в этом случае обработкой сброса файла на диск занимается операционная система. Значение 1 — наиболее безопасный, но медленный вариант, так как файл сбрасывается после каждой записи. Если включен autocommit, запись выполняется за одну операцию на каждое утверждение; в противном случае, запись производится за одну операцию на каждую транзакцию. Если диск имеет кэш с батарейным питанием, синхронизация будет быстрой, и можно выбрать более консервативное значение.
-
Командная строка:
--sync-binlog=# - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
0 -
Диапазон:
0до4294967295
sync_master_info
- Описание: Реплика репликации будет синхронизировать свой файл master.info на диск после указанного количества событий. Если установлено в 0, сбросом файла на диск занимается операционная система.
-
Командная строка:
--sync-master-info=# - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
10000
sync_relay_log
- Описание: Сервер MariaDB будет синхронизировать свой релейный лог на диск после указанного количества записей в лог. По умолчанию до MariaDB 10.1.7 было 0, в этом случае обработкой сброса файла на диск занималась операционная система. Значение 1 — наиболее безопасный, но медленный вариант, так как файл сбрасывается после каждой записи. Если включен autocommit, запись выполняется за одну операцию на каждое утверждение; в противном случае, запись производится за одну операцию на каждую транзакцию. Если диск имеет кэш с батарейным питанием, синхронизация будет быстрой, и можно выбрать более консервативное значение.
-
Командная строка:
--sync-relay-log=# - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
10000
sync_relay_log_info
- Описание: Реплика репликации будет синхронизировать свой файл relay-log.info на диск после указанного количества транзакций. По умолчанию до MariaDB 10.1.7 было 0, в этом случае обработкой сброса файла на диск занималась операционная система. Значение 1 — наиболее безопасный, но медленный вариант, так как при сбое может потеряться максимум одно событие.
-
Командная строка:
--sync-relay-log-info=# - Область действия: Глобальная
- Динамическая: Да
-
Тип данных:
numeric -
Значение по умолчанию:
10000 -
Диапазон:
0до4294967295
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/replication-and-binary-log-system-variables/