У меня есть установка master-slave с 2 серверами в сети. Из-за ошибки подчиненный поток ввода-вывода остановился, хотя я смог его запустить и запустить, подчиненное устройство далеко позади главного. Также, SHOW SLAVE STATUS
показывает Seconds_Behind_Master: 0
. Посмотри:
Slave_IO_State: Waiting for master to send event
Master_Host: <master ip>
Master_User: replicator
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000722
Read_Master_Log_Pos: 101043816
Relay_Log_File: localhost-relay-bin.000008
Relay_Log_Pos: 101043961
Relay_Master_Log_File: mysql-bin.000722
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 101043816
Relay_Log_Space: 101044163
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: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
До недавнего времени ведомое устройство было синхронизировано, поэтому я не делал снимков от ведущего к ведомому. Я должен сделать это?
Любая помощь очень ценится.
Заранее спасибо.
Что необычно в потоке ввода-вывода, так это то, что иногда, если есть какие-либо сильные прерывания сетевого уровня, поток ввода-вывода просто перестанет читать, не зная об этом уровне.
Что касается самих данных, вы можете просто сделать снимок, сбросить файл журнала и положение через ИЗМЕНИТЬ МАСТЕРА НА, и покончить с этим. Однако, если набор данных слишком велик и для его создания требуется слишком много времени, вам следует изучить возможность использования инструментов синхронизации данных от Percona.
mk-table-контрольная сумма и мк-таблица-синхронизация
Я использовал эти инструменты около 2 лет, и они помогают вам отслеживать различия в таблицах между ведущим и ведомым устройством, даже если таблица на ведущем устройстве - это InnoDB, а та же таблица на ведомом устройстве - MyISAM (при условии, что таблицы имеют одинаковую структуру таблиц. ).
Репликация должна быть включена во время работы этих инструментов.
Кстати, Percona имеет новый набор инструментов, называемый Набор инструментов Percona. Они отказались от собственных инструментов MAATKIT, чтобы сделать его лучше. Эти инструменты, вероятно, называются pt-table-checkum и pt-table-sync.