Синхронизация удаленной базы данных MySQL с localhost из первых вставленных записей с MySQL Replication - PullRequest
1 голос
/ 01 октября 2019

У меня есть база данных myDB на удаленном сервере (master), в котором есть таблица myTBL с некоторыми записями. Я хочу синхронизировать удаленную базу данных с моим локальным (ведомым) с помощью MySQL Replication . Итак, я создал пользователя репликации в master, а также базу данных с именем myDB и таблицей myTBL в localhost.

Я хочу использовать метод GTIDsчтобы синхронизировать мои базы данных, потому что на веб-сайте MySQL есть описание:

MySQL 8.0 поддерживает различные методы репликации. Традиционный метод основан на репликации событий из двоичного журнала ведущего устройства и требует синхронизации файлов журнала и позиций в них между главным и подчиненным устройствами. Более новый метод, основанный на глобальных идентификаторах транзакций (GTID), является транзакционным и поэтому не требует работы с файлами журналов или позициями в этих файлах, что значительно упрощает многие распространенные задачи репликации.

My master MySQL mysqld.cnf имеет:

server_id=1
enforce_gtid_consistency = on
gtid_mode = on
log_bin
log_slave_updates

и имеет статус:

             File: ***-bin.000001
         Position: 314969
     Binlog_Do_DB: 
 Binlog_Ignore_DB: 
Executed_Gtid_Set: 9a670a45-be0a-11e9-be56-52540055d8e4:1-368

и мой бальзам mysqld.cnf имеет:

server-id = 2
read_only = 1
gtid_mode=ON
enforce-gtid-consistency=ON
skip-slave-start=ON

и я использую следующие команды, чтобы начать синхронизацию в ведомом устройстве:

CHANGE MASTER TO MASTER_HOST='***', MASTER_USER='***', MASTER_PASSWORD='***', MASTER_AUTO_POSITION=1; 
start slave;

И все в порядке с этим состоянием в ведомом устройстве:

...
     Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
...

Итак, каждый новыйзапись, вставленная в основную базу данных, синхронизируется с моей ведомой (localhost) базой данных. Но записи, которые вставляются перед синхронизацией, не помещаются в localhost. Как я могу их синхронизировать? Или, другими словами, как начать синхронизацию с первых записей? (Я видел на некоторых сайтах, которые предлагали использовать mysqldump для вывода первых данных, есть ли лучший способ?)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...