Ich habe eine Master -> Slave-Konfiguration, bei der der Master fehlgeschlagen ist. Ich konnte den alten Slave zurücksetzen, um ein Master zu sein, und den alten Master, um daraus einen Slave zu machen. Fein.
Was ich scheinbar nicht tun kann, ist, die Master-Informationen auf dem alten Slave zu entfernen, der jetzt der neue Master ist. Aha:
mysql> show slave status \G
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 10.1.2.101
Master_User: replicationSlave
Master_Port: 3306
...
Slave_IO_Running: No
Slave_SQL_Running: No
Ich habe viel MySQL-Dokumentation gelesen, aber immer noch keinen Weg gefunden, die Slave-Informationen vom neuen Master zu löschen. Ich habe es versucht:
RESET SLAVE
das scheint diese Einstellungen nicht zu löschen. [[Eigentlich entfernt es diemaster.info
Datei, aber nicht die Speichereinstellungen. Siehe unten.]]CHANGE MASTER TO MASTER_HOST=''
Das spuckt nur auf einen Fehler, da er vor kurzem veraltet war.- Überprüfen,
my.cnf
welche nicht über die Stamminformationen verfügen, da diese programmgesteuert hinzugefügt wurden. RESET MASTER
weil einige MySQL-Dokumente es empfohlen haben. Dadurch werden nur die Bin-Protokolle zurückgesetzt.- Stöbern Sie in den internen MySQL-Tabellen, um zu sehen, ob ich die zu löschenden Felder finde.
Was ist der richtige Weg, um dies unter MySQL ~ 5.5.9 zu tun? Vielen Dank für jede Hilfe.
Bearbeiten:
Es stellt sich also heraus, dass RESET SLAVE
die master.info
Datei entfernt wird, wie @RolandoMySQLDBA impliziert. Sie müssen den Server jedoch noch neu starten, bevor die Slave-Informationen entfernt werden.
Gibt es eine Möglichkeit, diese Slave-Informationen zu entfernen, ohne mysqld neu starten zu müssen?