Как повторно синхронизировать Mysql DB, если Master и Slave имеют разные базы данных в случае репликации Mysql?

Чтобы использовать динамическое регулярное выражение, см. мой обновленный код:

new RegExp("\\b" + lookup + "\\b").test(textbox.value)

Ваш конкретный пример обратный:

alert((/\b(2)\b/g).test(lookup));

Regexpal

Объект Regex

134
задан Shamoon 26 February 2013 в 17:19
поделиться

5 ответов

Ведущее устройство :

mysqldump -u root -p --all-databases --master-data | gzip > /tmp/dump.sql.gz  

scp master:/tmp/dump.sql.gz slave:/tmp/ файл дампа Перемещения к ведомому серверу

Ведомое устройство:

STOP SLAVE;

zcat /tmp/dump.sql.gz | mysql -u root -p

START SLAVE;
SHOW SLAVE STATUS;  

ПРИМЕЧАНИЕ :
На ведущем устройстве можно работать SET GLOBAL expire_logs_days = 3 для хранения бинарных журналов в течение 3 дней в случае ведомых проблем.

0
ответ дан 23 November 2019 в 23:53
поделиться

Думаю, утилиты Maatkit помогут вам! Вы можете использовать mk-table-sync. Пожалуйста, посмотрите эту ссылку: http://www.maatkit.org/doc/mk-table-sync.html

7
ответ дан 23 November 2019 в 23:53
поделиться

Если вы не пишете напрямую на подчиненный сервер (Сервер2), единственная проблема должна заключаться в том, что на Сервере 2 отсутствуют какие-либо обновления, которые произошли после его отключения. Просто перезапустите подчиненное устройство с помощью "START SLAVE;" должен вернуть все в норму.

17
ответ дан 23 November 2019 в 23:53
поделиться

Вот что я обычно делаю, когда подчиненное устройство mysql выходит из синхронизации. Я посмотрел на mk-table-sync, но подумал, что раздел Риски выглядит пугающе.

На Мастере:

SHOW MASTER STATUS

Выводимые столбцы (Файл, Позиция) нам немного пригодятся.

На ведомом:

STOP SLAVE

Затем создайте дамп главной БД и импортируйте ее в подчиненную БД.

Затем выполните следующее:

CHANGE MASTER TO
  MASTER_LOG_FILE='[File]',
  MASTER_LOG_POS=[Position];
START SLAVE;

Где [Файл] и [Позиция] - значения, выведенные из "SHOW MASTER STATUS", запущенного выше.

Надеюсь, это поможет!

5
ответ дан 23 November 2019 в 23:53
поделиться

Это полная пошаговая процедура для повторной синхронизации репликации ведущий-ведомый с нуля:

На ведущем устройстве:

RESET MASTER;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;

И копирование значений результата где-то последней команды.

Не закрывая соединение с клиентом (потому что это снимет блокировку чтения), введите команду для получения дампа мастера:

mysqldump -u root -p --all-databases > /a/path/mysqldump.sql

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

UNLOCK TABLES;

Теперь скопируйте файл дампа на ведомое устройство с помощью scp или другого инструмента.

На ведомом устройстве:

Откройте соединение с mysql и введите:

STOP SLAVE;

Загрузите дамп данных ведущего устройства с помощью этой консольной команды:

mysql -uroot -p < mysqldump.sql

Синхронизировать журналы ведомого и ведущего устройства:

RESET SLAVE;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=98;

Где значения вышеперечисленных полей те, которые вы скопировали раньше.

Наконец, введите:

START SLAVE;

Чтобы убедиться, что все снова работает, после ввода:

SHOW SLAVE STATUS;

вы должны увидеть:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Вот и все!

279
ответ дан 23 November 2019 в 23:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: