Как работает LOAD DATA INFILE в репликации на основе операторов? - PullRequest
6 голосов
/ 10 декабря 2008

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

LOAD DATA INFILE 'filename' INTO SomeTable;

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

1 Ответ

5 голосов
/ 15 декабря 2008

Похоже, что файл, который вы загружаете с помощью 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 для размещения релейные журналы в этой файловой системе.

...