J'ai une base de données esclave qui porte un nom différent de celui de la contrepartie de production. (Nous allons appeler prod database
et esclave database_slave
.)L'esclave MySQL associe le nom de la base de données de production à de nouvelles vues
Quand je lance un mysqldump de l'esclave (ce que je fais pour faire des copies de dev), deux des vues de base de données ont le nom de base de données qui leur sont rattachés. Je ne peux pas utiliser le fichier de vidage pour créer une autre copie sans l'éditer manuellement.
Si j'exécute le même fichier mysqldump à partir de la copie de production, tout est propre. Donc, pour une raison quelconque, l'esclave a créé ces deux vues incorrectement. (. Les quatre autres points de vue ont été créés avant que la réplication a été créé, que je crois, explique la différence que j'ai confirmé la réplication est synchronisé.)
Snippet du mysqldump de l'esclave:
/*!50001 VIEW `database_slave`.`view_company` AS select `database`.`company`.`id` AS `id`,
`database`.`company`.`name` AS `name`,`database`.`company`.`state` AS `state`,
extrait même de le mysqldump, mais de la production (agréable et propre):
/*!50001 VIEW `view_company` AS select `company`.`id` AS `id`,
`company`.`name` AS `name`,`company`.`state` AS `state`,
Puis-je résoudre ce problème sans avoir à vider de prod à l'esclave?
Nous utilisons l'option replicate-rewrite-db
.
Par défaut, cela est vrai, mais nous utilisons [replicate-rewrite-db] (http://dev.mysql.com/doc/refman/5.0/fr/replication-options-slave.html#option_mysqld_replicate-rewrite -db). Considérez que 23 tables et 4 vues fonctionnent bien. Seulement 2 vues ne le font pas. –
Je ne connaissais pas cette option. – Mchl
Aussi, vous pouvez vouloir poser cette question à: http://serverfault.com/ – Mchl