powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Синхронизация двух баз с большой дельтой
3 сообщений из 3, страница 1 из 1
Синхронизация двух баз с большой дельтой
    #38341546
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день
Настраиваю репликацию, при настройке мне нужно снять дамп с master на slave (ну или просто Бд скопировать) и запустить репликацию. Если делаю дамп с master с блокировкой данных на изменение - всё чудесно работает,если делаю например восстановление старого дампа (пару дней назад снимал) - идет рассинхронизация. Если смотрю статус show slave status/g получаю

Slave_IO_State: Queueing master event to the relay log
Master_Host: mysql1
Master_User: repl_user
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-bin.000001
Read_Master_Log_Pos: 33919356
Relay_Log_File: slave-relay-bin.000002
Relay_Log_Pos: 254
Relay_Master_Log_File: master-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 1007
Last_Error: Error 'Can't create database 'supermag'; database exists' on query. Default database: 'supermag'. Query: 'CREATE DATABASE `supermag`
CHARACTER SET 'cp1251'
COLLATE 'cp1251_general_ci''
Skip_Counter: 0
Exec_Master_Log_Pos: 107
Relay_Log_Space: 33919659
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 1007
Last_SQL_Error: Error 'Can't create database 'supermag'; database exists' on query. Default database: 'supermag'. Query: 'CREATE DATABASE `supermag`
CHARACTER SET 'cp1251'
COLLATE 'cp1251_general_ci''
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
1 row in set (0.00 sec)

Как сделать синхронизацию без копирования/развертывания свежего дампа? Или как правильно синхронизировать в такой ситуации? База с таблицами MyIsam и InnoDb, так что вариант с load data from master нам не подходит.
...
Рейтинг: 0 / 0
Синхронизация двух баз с большой дельтой
    #38341553
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

Упс. Тоже интересно, правда мне ни разу не пришлось поднимать базу из дампа... но репликации отваливались несколько раз. Каждый раз приходилось останавливать мастер и перезаливать свежую базу... как-то можно, за счет "ручного изменения позиции лога" (прошлый админ так делал), но "как" - так и не разобрался из-за нехватки времени.
...
Рейтинг: 0 / 0
Синхронизация двух баз с большой дельтой
    #38341638
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarКак сделать синхронизацию без копирования/развертывания свежего дампа?
Или как правильно синхронизировать в такой ситуации?

Может я чего-то не понимаю? как вообще эта мысль к вам пришла?
Никак нельзя запустить репликацию без копирования актуальных данных.

Если вы хотите регулярно делать локальные бекапы со slave и потом регулярно там же восстанавливать, нужно тогда делать stop slave, записывать позицию из show slave status, запускать потом с указанием соответствующей позиции, надеясь, что на master логи изменений на тот момент все еще сохранились.

База с таблицами MyIsam и InnoDb, так что вариант с load data from master нам не подходит.
Все правильно. load data from master is considered harmful.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Синхронизация двух баз с большой дельтой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]