Rebuild Slave-DB & Replication
Da der Befehl mysqldump die Tables locked, ist es nicht notwendig, dass auf der Master Datenbank kein Traffic ist. Durch --master-data wird im Befehl mysqldump die richtige Position zum Einsetzen der Replication auf dem Slave Server hinterlegt.
mysql -uUSER -pPWD
STOP SLAVE;
RESET SLAVE;
QUIT;
MySQL Server mit servcie mysqld restart
neu starten.
mysqldump -uUSER -pPWD --single-transaction --master-data=2 --databases JTELWeb JTELStats JTELLog --add-drop-database --add-drop-table --events --routines > filename.sql
Hierzu eine kurze Erklärung:
mysql -uUSER -pPWD (Nun sind wir in MySQL)
drop database JTELLog;
drop database JTELStats;
drop database JTELWeb;
source <filename>
CHANGE MASTER TO MASTER_LOG_FILE='binlog.000872', MASTER_LOG_POS=11940974;
Die Parameter MASTER_LOG_FILE
und MASTER_LOG_POS
muss man sich merken.repl
auf dem Master DB Server. Dies entspricht eigentlich immer dem Passwort des Benutzers root - man kann es am einfachsten ausprobieren, in dem man sich vom Slave auf dem Master mit diesem Passwort anmeldet: mysql -h <masterIP> -u repl -p<Passwort>
- wenn das Funktioniert, weiss man bescheid.mysql -uUSER -pPWD
CHANGE MASTER TO MASTER_HOST='<name oder IP des master servers>',MASTER_USER='repl',MASTER_PASSWORD='<passwort>',MASTER_LOG_FILE='<Name LogFile>', MASTER_LOG_POS=<Position LogFile>;
Hier sind alle Parameter mit denen aus Schritt 5 zu ersetzen.
START SLAVE;
SHOW SLAVE STATUS\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes