7.6.7.13 Переменные системы клонирования
В этом разделе описываются системные переменные, которые управляют работой плагина клонирования. Если значения, указанные при запуске, некорректны, плагин клонирования может некорректно инициализироваться, и сервер его не загрузит. В этом случае сервер также может выводить сообщения об ошибках для других настроек клонирования, так как не распознает их.
Каждая системная переменная имеет значение по умолчанию. Системные переменные можно задать при запуске сервера, используя параметры в командной строке или в файле параметров. Их можно изменять динамически во время выполнения, используя оператор SET, что позволяет изменять работу сервера, не останавливая и не перезапуская его.
Для изменения глобального значения системной переменной во время выполнения обычно требуется привилегия SYSTEM_VARIABLES_ADMIN (или устаревшая привилегия SUPER). Дополнительную информацию см. в разделе 7.1.9.1, «Привилегии системных переменных».
Переменные клонирования настраиваются на целевом экземпляре сервера MySQL, где выполняется операция клонирования.
-
Формат командной строки --clone-autotune-concurrencyСистемная переменная clone_autotune_concurrencyОбласть видимости Глобальная Динамическая Да SET_VARHint AppliesНет Тип Boolean Значение по умолчанию ONКогда
clone_autotune_concurrencyвключена (значение по умолчанию), для оптимизации скорости передачи данных динамически создаются дополнительные потоки для операций удаленного клонирования. Настройка применима только к экземпляру сервера MySQL получателя.Во время операции клонирования количество потоков увеличивается постепенно до целевого значения, вдвое превышающего текущее количество потоков. Эффект на скорость передачи данных оценивается при каждом увеличении. Процесс либо продолжается, либо останавливается в соответствии со следующими правилами:
Если скорость передачи данных снижается более чем на 5% при прирастном увеличении, процесс останавливается.
Если после достижения 25% от целевого значения наблюдается улучшение как минимум на 5%, процесс продолжается. В противном случае процесс останавливается.
Если после достижения 50% от целевого значения наблюдается улучшение как минимум на 10%, процесс продолжается. В противном случае процесс останавливается.
Если после достижения целевого значения наблюдается улучшение как минимум на 25%, процесс продолжается к новой целевой величине, вдвое превышающей текущее количество потоков. В противном случае процесс останавливается.
Процесс автоматической настройки не поддерживает уменьшение количества потоков.
Переменная
clone_max_concurrencyопределяет максимальное количество потоков, которые могут быть созданы.Если
clone_autotune_concurrencyотключена,clone_max_concurrencyопределяет количество потоков, создаваемых для операции удаленного клонирования. -
Формат командной строки --clone-buffer-sizeСистемная переменная clone_buffer_sizeОбласть видимости Глобальная Динамическая Да SET_VARHint AppliesНет Тип Integer Значение по умолчанию 4194304Минимальное значение 1048576Максимальное значение 268435456Единица измерения байты Определяет размер промежуточного буфера, используемого при передаче данных во время операции локального клонирования. Значение по умолчанию — 4 мебибайта (MiB). Больший размер буфера может позволить драйверам устройств ввода-вывода получать данные параллельно, что может улучшить производительность клонирования.
-
Формат командной строки --clone-block-ddlСистемная переменная clone_block_ddlОбласть видимости Глобальная Динамическая Да SET_VARHint AppliesНет Тип Boolean Значение по умолчанию OFFВключает эксклюзивную блокировку резервного копирования в экземпляре сервера MySQL донора во время операции клонирования, которая блокирует параллельные операции DDL на доноре. См. Раздел 7.6.7.4, «Клонирование и параллельные операции DDL».
-
Формат командной строки --clone-delay-after-data-dropСистемная переменная clone_delay_after_data_dropОбласть видимости Глобальная Динамическая Да SET_VARHint AppliesНет Тип Integer Значение по умолчанию 0Минимальное значение 0Максимальное значение 3600Единица измерения байты Задает период задержки сразу после удаления существующих данных в экземпляре сервера MySQL получателя в начале операции удаленного клонирования. Задержка предназначена для предоставления достаточного времени файловой системе на хосте получателя для освобождения места перед клонированием данных из экземпляра сервера MySQL донора. Некоторые файловые системы, такие как VxFS, освобождают место асинхронно в фоновом процессе. В этих файловых системах клонирование данных слишком скоро после удаления существующих данных может привести к сбоям операции клонирования из-за недостатка места. Максимальный период задержки составляет 3600 секунд (1 час). Настройка по умолчанию — 0 (без задержки).
Эта переменная применима только к операции удаленного клонирования и настраивается в экземпляре сервера MySQL получателя.
-
Формат командной строки --clone-ddl-timeoutСистемная переменная clone_ddl_timeoutОбласть видимости Глобальная Динамическая Да SET_VARHint AppliesНет Тип Integer Значение по умолчанию 300Минимальное значение 0Максимальное значение 2592000Единица измерения секунды Время в секундах, в течение которого операция клонирования ожидает блокировки резервного копирования. Блокировка резервного копирования блокирует параллельные операции DDL при выполнении операции клонирования. Эта настройка применяется как к экземплярам сервера MySQL донора, так и получателя.
Значение 0 означает, что операция клонирования не будет ожидать блокировки резервного копирования. В этом случае выполнение параллельной операции DDL может привести к сбою операции клонирования.
Параллельные операции DDL разрешены на доноре во время операции клонирования, если
clone_block_ddlустановлено вOFF(значение по умолчанию). В этом случае операции клонирования не нужно ждать блокировки резервного копирования на доноре. См. Раздел 7.6.7.4, «Клонирование и параллельные операции DDL». -
clone_donor_timeout_after_network_failureФормат командной строки --clone-donor-timeout-after-network-failureСистемная переменная clone_donor_timeout_after_network_failureОбласть видимости Глобальная Динамическая Да SET_VARHint AppliesНет Тип Integer Значение по умолчанию 5Минимальное значение 0Максимальное значение 30Единица измерения минуты Определяет количество времени в минутах, которое донор разрешает получателю для повторного подключения и перезапуска операции клонирования после сбоя сети. Для получения дополнительной информации см. Раздел 7.6.7.9, «Обработка сбоев операции удаленного клонирования».
Эта переменная устанавливается в экземпляре сервера MySQL донора. Установка её в экземпляре сервера MySQL получателя не оказывает никакого эффекта.
-
Формат командной строки --clone-enable-compressionСистемная переменная clone_enable_compressionОбласть видимости Глобальная Динамическая Да SET_VARHint AppliesНет Тип Boolean Значение по умолчанию OFFВключает сжатие данных на сетевом уровне во время операции удаленного клонирования. Сжатие экономит сетевую полосу пропускания за счет использования процессора. Включение сжатия может улучшить скорость передачи данных. Эта настройка применяется только к экземпляру сервера MySQL получателя.
-
Формат командной строки --clone-max-concurrencyСистемная переменная clone_max_concurrencyОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 16Минимальное значение 1Максимальное значение 128Единица измерения потоков Определяет максимальное количество потоков для одновременной работы при удаленной операции клонирования. Значение по умолчанию — 16. Большее число потоков может улучшить производительность клонирования, но также уменьшит количество разрешенных одновременных подключений клиентов, что может повлиять на производительность существующих подключений клиентов. Это значение применяется только к экземпляру MySQL-сервера-получателя.
Если
clone_autotune_concurrencyвключено (по умолчанию),clone_max_concurrency— это максимальное количество потоков, которое может быть динамически запущено для удаленной операции клонирования. Еслиclone_autotune_concurrencyвыключено,clone_max_concurrencyопределяет количество потоков, запущенных для удаленной операции клонирования.Для удаленных операций клонирования рекомендуется минимальная скорость передачи данных 1 мебибайт (MiB) на поток. Скорость передачи данных для удаленной операции клонирования контролируется переменной
clone_max_data_bandwidth. -
Формат командной строки --clone-max-data-bandwidthСистемная переменная clone_max_data_bandwidthОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 1048576Единица измерения миБ/секунда Определяет максимальную скорость передачи данных в мебибайтах (MiB) в секунду для удаленной операции клонирования. Эта переменная помогает управлять влиянием операции клонирования на производительность. Предел следует устанавливать только при насыщении пропускной способности ввода/вывода диска донора, что влияет на производительность. Значение 0 означает «неограниченный», что позволяет операциям клонирования выполняться с максимально возможной скоростью передачи данных. Это значение применимо только к экземпляру MySQL-сервера-получателя.
Минимальная скорость передачи данных составляет 1 MiB в секунду на поток. Например, если используется 8 потоков, минимальная скорость передачи данных составляет 8 MiB в секунду. Переменная
clone_max_concurrencyконтролирует максимальное количество запущенных потоков для удаленной операции клонирования.Запрашиваемая скорость передачи данных, указанная переменной
clone_max_data_bandwidth, может отличаться от фактической скорости передачи данных, отображаемой в столбцеDATA_SPEEDв таблицеperformance_schema.clone_progress. Если ваша операция клонирования не достигает желаемой скорости передачи данных, и доступна пропускная способность, проверьте использование ввода/вывода на сервере-получателе и доноре. Если пропускная способность используется недостаточно, ввода/вывода является следующим наиболее вероятным узким местом. -
Формат командной строки --clone-max-network-bandwidthСистемная переменная clone_max_network_bandwidthОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 1048576Единица измерения миБ/секунда Указывает максимальную приблизительную скорость передачи данных по сети в мебибайтах (MiB) в секунду для удаленной операции клонирования. Эта переменная может использоваться для управления влиянием операции клонирования на пропускную способность сети. Её следует устанавливать только при насыщении пропускной способности сети, что влияет на производительность экземпляра донора. Значение 0 означает «неограниченный», что позволяет клонированию выполняться с максимально возможной скоростью передачи данных по сети, обеспечивая наилучшую производительность. Это значение применимо только к экземпляру MySQL-сервера-получателя.
-
Формат командной строки --clone-valid-donor-list=valueСистемная переменная clone_valid_donor_listОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Строка Значение по умолчанию NULLОпределяет допустимые адреса узлов-доноров для операций удалённого клонирования. Эта настройка применяется на экземпляре целевого сервера MySQL. Разрешается список значений, разделённых запятыми, в следующем формате: “
HOST1:PORT1,HOST2:PORT2,HOST3:PORT3”. Пробелы не допускаются.Переменная
clone_valid_donor_listдобавляет уровень безопасности, предоставив контроль над источниками клонируемых данных. Привилегия, необходимая для настройкиclone_valid_donor_list, отличается от привилегии, необходимой для выполнения операций удалённого клонирования, что позволяет назначать эти обязанности различным ролям. Для настройкиclone_valid_donor_listтребуется привилегияSYSTEM_VARIABLES_ADMIN, тогда как для выполнения операции удалённого клонирования требуется привилегияCLONE_ADMIN.Формат адреса Интернет-протокола версии 6 (IPv6) не поддерживается. Формат адреса Интернет-протокола версии 6 (IPv6) не поддерживается. Вместо этого можно использовать псевдоним IPv6-адреса. IPv4-адрес можно использовать непосредственно.
© 2025 Oracle
Licensed under the GPLv2 License.