|
|
|
Синхронизация двух баз с большой дельтой
|
|||
|---|---|---|---|
|
#18+
Добрый день Настраиваю репликацию, при настройке мне нужно снять дамп с 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 нам не подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 07:09:44 |
|
||
|
Синхронизация двух баз с большой дельтой
|
|||
|---|---|---|---|
|
#18+
Gallemar, Упс. Тоже интересно, правда мне ни разу не пришлось поднимать базу из дампа... но репликации отваливались несколько раз. Каждый раз приходилось останавливать мастер и перезаливать свежую базу... как-то можно, за счет "ручного изменения позиции лога" (прошлый админ так делал), но "как" - так и не разобрался из-за нехватки времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 07:50:33 |
|
||
|
Синхронизация двух баз с большой дельтой
|
|||
|---|---|---|---|
|
#18+
GallemarКак сделать синхронизацию без копирования/развертывания свежего дампа? Или как правильно синхронизировать в такой ситуации? Может я чего-то не понимаю? как вообще эта мысль к вам пришла? Никак нельзя запустить репликацию без копирования актуальных данных. Если вы хотите регулярно делать локальные бекапы со slave и потом регулярно там же восстанавливать, нужно тогда делать stop slave, записывать позицию из show slave status, запускать потом с указанием соответствующей позиции, надеясь, что на master логи изменений на тот момент все еще сохранились. База с таблицами MyIsam и InnoDb, так что вариант с load data from master нам не подходит. Все правильно. load data from master is considered harmful. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 10:13:25 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38341553&tid=1836401]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 300ms |

| 0 / 0 |
