Estou executando a replicação mestre/escravo tradicional no MySQL 5.1.52, meu mestre está configurado para replicação baseada em instrução. Algumas tabelas estão faltando linhas no escravo (diferentes contagens de linha), essas tabelas são inseridas apenas no mestre usando "load data infile ...", com auto-incremento Pks. É estranho que as linhas ausentes no escravo tenham lacunas nos valores de PK onde as linhas deveriam estar. O escravo é marcado como somente leitura para que não haja exclusões acidentais.
relate perguntas
-
Onde posso encontrar o log lento do mysql?
-
Como posso otimizar um mysqldump de um banco de dados grande?
-
Quando é o momento certo para usar o MariaDB em vez do MySQL e por quê?
-
Qual é a diferença entre a replicação do PostgreSQL 9.0 e o Slony-I?
-
Como um grupo pode rastrear alterações no esquema do banco de dados?
A maneira tradicional seria usar pt-table-checksum e pt-table-sync
Eu gosto de fazer as coisas um pouco diferentes. Eu corro imediatamente
pt-table-sync
com as--sync-to-master --print
opções.Aqui está a opção --sync-to-master
Aqui está a opção --print
Isso, se você fizer algo assim:
O arquivo
/root/SQLChanges.sql
conterá todas as alterações que você precisa executar no Slave. Quando estiver satisfeito com seu conteúdo, basta executar o script no Slave.Com relação ao uso de LOAD DATA INFILE na replicação, o @DTest respondeu a essa pergunta sobre isso. Expliquei ainda como o mysql replica LOAD DATA INFILE .