MySQL Upgrade

mysql 100x52-64Ein beleidigter MySQL Server kann schlimmer als eine Sechzehnjährige sein, wenn sie ihre Tage hat — das mussten wir nach der Inbetriebnahme der Server feststellen. Grund für das Debakel war ein Upgrade des MySQL Servers und dessen Ablehnen des alten Formats der Usertabelle.

Doch, wie geht man damit am Besten um?

Sehen wir uns dazu einmal diese Eigenheiten unseres Servers an. In /var/lib/mysql, vorausgesetzt wir haben eine Standardinstallation unter Gentoo. In diesem Verzeichnis finden sich die Datenbanken in eigenen Verzeichnissen, welche ihren Namen tragen. Unser Sorgenkind Nummer Eins ist dabei das Verzeichnis mysql, welches die Systemtabellen und Berechtigungen in sich trägt. Dieses verhalten machen wir uns zu Nutzen und verschieben das genannte Verzeichnis nach mysql_bak. Der Unterstrich ist nötig, damit der SQL‐Server auf die Datenbank zugreifen kann!

Wenn wir nun die Datenbank neu initialisieren, können wir auf die alten Berechtigungstabellen ohne grossen Aufwand zugreifen und sie einmal checken lassen. Ist dies getan können wir uns an einen mysql_dump wagen, welcher uns die Datenbank ‘mysql_bak’ exportiert. Der uns vorliegende Export besteht aus SQL Statements, mit welchen die Datenbank und die darinstehenden Tabellen generiert und befüllt werden. Aus diesem Exportfile können wir nun ohne Probleme die entsprechenden INSERT‐Statements herausnehmen und dem Server zur Verarbeitung geben.

Nach Abschluss der Prozedur sollte man den MySQL Dienst neu starten, da es in solchen Fällen selten nur mit einem FLUSH PRIVILEGES getan ist.

Previous Post Next Post