wenn die mysql replikation mal klemmt (2)

neulich habe ich mal beschrieben, wie man einen einzelnen befehl bei der replikation auslaesst, wenn er denn zu problemen fuehrt.

ein anderes szenario ist, wenn mal stromausfall ist oder eine virtuelle maschine einfach ausgeschaltet bzw. “gekillt” wird. dann kann der master vielleicht nicht alles transaktionen in das replikations log schreiben oder sowas in der art. im logfile ist dann sowas zu finden:

MySQL Error: Client requested master to start replication from impossible position

zuerst den status auf dem master checken:

mysql> SHOW master STATUS;
+------------------+----------+--------------+------------------+
| File             | POSITION | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.003615 |  4994240 |              |                  | 
+------------------+----------+--------------+------------------+
1 ROW IN SET (0.00 sec)

dann den slave stoppen, seine position im aktuellen log mitteilen, bei der er weiter machen soll und wieder starten:

slave stop;
CHANGE MASTER TO MASTER_HOST='db.domain.tld', MASTER_USER='repl',MASTER_PASSWORD='geheim', MASTER_LOG_FILE='mysql-bin.003615', MASTER_LOG_POS=0;
slave START;

und dann kann man nur hoffen, dass nicht allzu viel kaputt geht. weil das ohne genauer nachzusehen erstmal quasi ein undefinierter zustand ist. wenns schief geht, empfihelt sich doch die standard methode, um eine mysql replikation einzurichten. also haupt datenbank stoppen, snapshot ziehen, auf slave kopieren, einrichten.. blablabla..

28. September 2013 by sd
Categories: Uncategorized | Tags: , , | Leave a comment

Leave a Reply

Required fields are marked *