Em primeiro lugar, você deve estar ciente de que é muito importante usar os mecanismos de armazenamento que você usa.
Vamos supor que ambos os seus servidores mysql possuem a mesma versão. Então você poderia usar mysqlhotcopy para tabelas MyISAM. Isso deve ser muito rápido, mas essa abordagem é restrita a tabelas MyISAM. Como o mysqlhotcopy copia os arquivos diretamente, você pode responder com facilidade a sua pergunta, se os dois bancos de dados forem "bit-by-bit" iguais, com a ajuda de diff
.
INNODB é o mecanismo de armazenamento padrão da versão 5.5.5. Se você usar o mecanismo de armazenamento INNODB, a situação será diferente. Nesse caso, você não pode usar mysqlhotcopy
e você fica com mysqldump
.
Algumas coisas podem dar errado se você usar mysqldump
. Por exemplo, se o banco de dados no servidor # A tiver uma visualização para uma tabela inexistente, o mysql tentará criar uma visualização para uma tabela inexistente no lado direito do seu canal e falhará. Você pode evitar um aborto em tais casos usando a opção --force
.
mysql --force ...
Eu copiei um banco de dados mysql inteiro com mysqldump
e comparei dumps de ambos os servidores e descobri que os dumps diferem apenas no time stamp. Isso pode ser uma solução para você.
Você também deve dar uma olhada nas outras opções de mysqldump
. Por exemplo eu penso em
--add-drop-database
--add-drop-table
--single-transaction ( for transactional tables only (like INNODB))