@Raphael : les max_allowed_packet pourrait créer des problèmes si il est trop petit ou si il est trop gros (ou les deux ?). Que recommanderais-tu ?

Je vais jeter un coup d'oeil aux produits Percona que je ne connais pas du tout.

J'ai essayé de faire un dump avec le mysqldump que tu m'as indiqué et ca n'a rien changé mais je comprends bien l'idée de la chose.

2010/12/10 Raphael Mazelier <raph@futomaki.net>

Et t'es pas capable de savoir quelles données sont manquantes en faisant
ne serait-ce qu'un COUNT(*) sur chacune des tables ?

Bref... http://www.maatkit.org/doc/maatkit.html et plus précisément
http://www.maatkit.org/doc/mk-table-checksum.html

Si tu lis bien, l'outil peut même te sortir un diff avec les requetes
SQL à réinjecter.

PS: Mon sentiment premier sur ton histoire est un soucis d'encodage qui
pourri de ton dump (genre UTF8 d'un côté mais pas de l'autre).
Le mieux pour sync 2 serveurs MySQL, ça reste quand même mysqlhotcopy...

Il y a plein de raison qui peuvent foirer un reimport d'un dump. Au hasard les foreign keys, les triggers/prod stock, etc...
Une parmi d'autre est le 'max_allowed_packet' de ton mysqldump.

Effectivement le meilleur moyen de synchroniser une base est mysqlhotcopy ou mieux son remplacant du coté de chez perconna : innobackupex et xtrabkup.
Sinon une commande relativement safe pour un dump :
mysqldump -u root -pXXXXX --add-drop-database --add-drop-table --all-databases --create-options --routines --disable-keys --lock-all-tables

ou : --single-transactions (mais j'ai eu des cas bizarres).


--
Raphael




_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/