Как работает LOAD DATA INFILE в репликации на основе операторов?

В MySQL, используя репликацию на основе операторов, я предполагаю, что каждый оператор SQL выполняется на ведомом устройстве точно так же, как на ведущем устройстве. Тем не менее, когда я запускаю заявление:

LOAD DATA INFILE 'filename' INTO SomeTable;

Я не уверен, должен ли файл существовать на ведомом устройстве так же, как на главном. Может кто-нибудь указать мне на документацию этой функции?

10.12.2008 13:01:34
1 ОТВЕТ
РЕШЕНИЕ

Похоже, что файл, который вы загружаете LOAD DATA INFILEна мастер, автоматически передается через журнал репликации с мастера на реплику. Реплика загружает эти файлы, когда попадает в LOAD DATA INFILEочередь репликации на основе операторов.

Я нахожу это из пары утверждений в документации:

16.1. Резервное копирование ведомых устройств репликации

Если ваш MySQL-сервер является подчиненным сервером репликации, то независимо от выбранного вами метода резервного копирования, вы также должны создавать резервные копии файлов master.info и relay-log.info при резервном копировании данных ведомого устройства. Эти файлы всегда необходимы для возобновления репликации после восстановления данных ведомого устройства. Если ваш подчиненный подчиняется репликации команд LOAD DATA INFILE, вам также следует создать резервные копии любых файлов SQL_LOAD- *, которые могут существовать в каталоге, указанном параметром --slave-load-tmpdir.

16.1.2.3. Параметры и переменные репликации

Когда подчиненный поток SQL реплицирует инструкцию LOAD DATA INFILE, он извлекает файл, который должен быть загружен из журнала ретрансляции, во временные файлы, а затем загружает их в таблицу. Если файл, загруженный на ведущее устройство, огромен, временные файлы на ведомом устройстве также огромны. Поэтому, возможно, было бы целесообразно использовать эту опцию, чтобы сказать ведомому устройству помещать временные файлы в каталог, расположенный в некоторой файловой системе, которая имеет много свободного места. В этом случае журналы ретрансляции также огромны, поэтому вы также можете использовать опцию --relay-log для размещения журналов ретрансляции в этой файловой системе.

5
20.10.2019 16:22:29