Spec-Zone.ru › MySQL 8.4

19.5.1.19 Репликация и LOAD DATA

LOAD DATA считается небезопасным для журналирования на основе операторов (см. Раздел 19.2.1.3, «Определение безопасных и небезопасных операторов в двоичном протоколе журналирования»). При установке binlog_format=MIXED, оператор регистрируется в формате на основе строк. При установке binlog_format=STATEMENT, обратите внимание, что LOAD DATA не генерирует предупреждение, в отличие от других небезопасных операторов.

Если вы используете LOAD DATA с binlog_format=STATEMENT, каждый репликатор, на котором должны быть применены изменения, создает временный файл, содержащий данные. Затем репликатор использует оператор LOAD DATA для применения изменений. Этот временный файл не шифруется, даже если шифрование двоичного протокола журнала включено на источнике. Если требуется шифрование, используйте формат двоичного протокола на основе строк или смешанный формат, для которых репликаторы не создают временный файл.

Если для обеспечения безопасности канала репликации был использован учётная запись PRIVILEGE_CHECKS_USER (см. Раздел 19.3.3, «Проверки привилегий репликации»), настоятельно рекомендуется регистрировать операции LOAD DATA с использованием двоичного протокола журналирования на основе строк (binlog_format=ROW). Если для канала установлено REQUIRE_ROW_FORMAT, требуется протокол двоичного журналирования на основе строк. С этим форматом протокола привилегия FILE не требуется для выполнения события, поэтому не предоставляйте этой привилегии учётную запись PRIVILEGE_CHECKS_USER. Если вам нужно восстановиться от ошибки репликации, связанной с операцией LOAD DATA INFILE, записанной в формате оператора, и реплицированное событие является надёжным, вы можете временно предоставить привилегию FILE учётной записи PRIVILEGE_CHECKS_USER, удалив её после применения реплицированного события.

При чтении mysqlbinlog событий журнала для операторов LOAD DATA, записанных в формате на основе оператора, создаётся сгенерированный локальный файл в временном каталоге. Эти временные файлы не удаляются автоматически mysqlbinlog или любой другой программой MySQL. Если вы используете операторы LOAD DATA с двоичным протоколом журналирования на основе оператора, вы должны удалить временные файлы после того, как вам больше не нужен журнал операторов. Дополнительную информацию см. в разделе 6.6.9, «mysqlbinlog — Утилита для обработки файлов двоичного журнала».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/replication-features-load-data.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API