Ich war gerade dabei, einen Server zu aktualisieren. Eines der Updates, die vorgeschlagen werden, ist ein Upgrade von MySQL 5.1 auf 5.5.
Der MySQL-Server arbeitet in einem Master-Master-Replikations-Setup mit einer anderen 5.1-MySQL-Instanz. Ich würde auch den anderen Master auf 5.5 aktualisieren, möchte aber immer einen online halten. Dieser Master hat auch eine Reihe von 5.1 MySQL-Slaves, die von ihm replizieren.
Weiß jemand ob:
- yum update ist sicher von 5.1 auf 5.5 ohne große Datenwiederherstellungen
- wenn das obige Replikationssetup ein Problem darstellt.
Bearbeiten: Dies ist eine Centos 5.4-Installation. Die Updates stammen jedoch aus dem nicht standardmäßigen Remi-Repo.
yum
ist nur das Tool, das Ihrerpm
Transaktionen abschließt. :)Antworten:
Das Replikationssetup, das Sie haben, kann beim Upgrade auf MySQL 5.5 nicht beibehalten werden
Sie müssen mit Master / Slave gehen. Hier ist der Grund:
Jemand stellte eine Frage zu Kauderwelsch in einem Binärprotokoll und ich beantwortete diese Frage
In meiner Antwort erklärte ich, dass Binärprotokolle in verschiedenen Versionen von MySQL an verschiedenen Positionen beginnen
Hier sind diese Positionen:
Bei der Replikation gelten diese Nummern auch für die Relay-Protokolle. Der Nettoeffekt ist, dass ein Slave von einer älteren Version von MySQL replizieren kann, aber nicht umgekehrt.
Sie sind besser dran, wenn Sie Folgendes tun:
In Bezug auf die Verwendung von Yum zum Upgrade renne ich in Panik und schreie entsetzt bei dem Gedanken daran.
Hier ist mein konservativerer Ansatz:
Führen Sie dies aus, um SQL für alle MySQL-Benutzerzuschüsse zu generieren:
mysql -hhostaddr -umyuserid -pmypassword --skip-column-names -A -e "SELECT CONCAT ('SHOW GRANTS FOR' '', user, '' '@' '', host, '' ';') FROM mysql .user WHERE Benutzer <> '' "| mysql -hhostaddr -umyuserid -pmypassword --skip-column-names -A | sed 's / $ /; / g'> /root/MySQLGrants.sql
Deinstallieren Sie MySQL 5.1
quelle