Я следовал этому руководству по репликации главный-подчиненный: http://www.howtoforge.com/mysql_master_master_replication
В принципе, я так и сделал.
Почему он не может просто вставить все строки и сделать их точно такими же, как мой мастер? Почему он удаляет файлы и вставляет их снова и снова?
show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host:
Master_User:
Master_Port:
Connect_Retry: 60
Master_Log_File: mysql-bin.000025
Read_Master_Log_Pos: 694442541
Relay_Log_File: mysqld-relay-bin.000039
Relay_Log_Pos: 201628150
Relay_Master_Log_File: mysql-bin.000018
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: 201628013
Relay_Log_Space: 8213564485
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: 6343
1 row in set (0.00 sec)
ERROR:
No query specified
show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000033
Position: 540194
Binlog_Do_DB: fal
Binlog_Ignore_DB:
1 row in set (0.01 sec)
При репликации MySQL мастер записывает файлы «binlog», детализируя только запросы, которые изменяют реплицированные базы данных (UPDATE, DELETE, INSERT, CREATE TABLE ..., а не SELECT и т. Д.).
Начиная с идентичных копий базы данных, мастер записывает файлы binlog, а подчиненный считывает их и выполняет все изменения: Таким образом происходит репликация.
Ваши сообщения о состоянии указывают на то, что реплика ведомого ведущего устройства не полностью обновлена (6343 с = 105 минут), и есть очередь операторов SQL для запуска, находящихся в файлах binlog:
мастер:
File: mysql-bin.000033
Position: 540194
раб:
Master_Log_File: mysql-bin.000025
Read_Master_Log_Pos: 694442541
...
Exec_Master_Log_Pos: 201628013
....
Seconds_Behind_Master: 6343
Я подозреваю, что на ведущем устройстве произошла какая-то операция типа DELETE / INSERT, а ведомое устройство просто реплицирует изменения, хотя и с задержкой почти на пару часов.
Чтобы определить, какие запросы он выполняет / собирается запустить, вы можете использовать mysqlbinlog для просмотра содержимого (двоичных) файлов binlog.
Локки