MySQL-Replikation mit Namerewriting und InnoDB
2005-09-11 09:11Heute Nacht habe ich die Replikation der Mysql-Datenbanken aufgesetzt, prinzipiell war das in einer Stunde erledigt, beim Prüfen mit SHOW SLAVE STAUTS;
sah ich jedoch, dass es Probleme mit der wikipedia-InnoDB gab. Ursächlich ist, dass ich die Datenbanken des Masters auf dem Slave anders benenne (ein Präfix), was in der my.cnf mit replicate-rewrite-db
angewiesen wird und initial mit einer Umbenennung der Ordner der Datenbanken aktiviert wird. Das funktioniert nur nicht bei InnoDB, da die Tabellenstruktur umbenannt ist, die Daten jedoch in den vorher allocierten ib*-Dateien herumliegen und von dort aus auf den alten Datenbanknamen verweisen, den es ja auf dem Slave so nicht gibt. Prinzipiell ist InnoDB ja auch binärkompatibel, aber eben nicht, wenn sich die Namensräume ändern. Geholfen hat ein klassischer Dump inkl. CREATE TABLE
als SQL mit anschließendem Einspielen in die anders benannte Datenbank auf dem Slave.