Update MySQL from 3.23.x to 5.0.x
Inhalt:
- Vorwort (erst lesen!!!)
- Update von 3.23.x auf 4.0.x
- Update von 4.0.x auf 4.1.x
- Update von 4.1.x auf 5.0.x
- DBD::Mysql aktualisieren
- phpMyAdmin aktualisieren
Vorwort:
Um MySQL von Version 3.23.x auf 5.0.x zu aktualisieren, müssen leider alle Versionen zwischen 3.23.x und 5.0.x Installiert werden,
da bei der Tabelle mysql neue Features hinzugekommen sind und Änderungen durchgeführt wurden (GRANT-Tables).
Da dieses Update sehr viele Änderungen an den in MySQL gespeicherten Daten erfordert, sollte diese Installation
vorab auf einem Testserver durchgespielt werden (es kann ja durchaus noch was anderes nicht klappen, was hier nicht erwähnt wurde oder nicht auftrat),
um nicht am Produktionsserver Ausfälle zu erhalten!
Update von 3.23.x auf 4.0.x:
Bitte beachten!
Vorher sollten unbedingt die Datenbanken gesichert werden!!!
- cd /usr/local/mysql/current/bin/
- mysqldump \
- --all-databases \
- --add-drop-table \
- --add-locks \
- --user=root \
- --password=geheim \
- > /tmp/backup_3.23.x.sql
Danach der MySQL-Server stoppen.
Die Anleitung Upgrading from 3.23.x sollte auch unbedingt gelesen werden, da ich hier nicht auf alle Details eingehe.
Bitte nur die reine Installation durchführen, auch das Anlegen des user/group und der Verzeichnisse
auslassen (wenn diese bereits bestehen), danach hierher zurückkehren und diese Anweisungen folgen!
Die Datenbank-Dateien von MySQL/3.23.x können weiter benutzt werden, daher lassen wir hier
das Zeitaufwendige einspielen der Datei /tmp/backup_3.23.x.sql aus.
- cd /usr/local/mysql/current/bin/
- ln -s mysqld_safe safe_mysqld
- /etc/init.d/mysql.server start
- cd /usr/local/src/mysql-4.0.27/scripts/
- ./mysql_fix_privilege_tables "geheim"
Bei dem "geheim" handelt sich um das Paßwort für root. Fehlermeldung mit
Duplicate column and Unknown column können ignoriert werden.
Hiernach sollte die Tabelle mysql überprüft werden, ob alle Inhalte richtig sind,
ein Test mit einer Anwendung (z.B. phpMyAdmin) sollte fehlerfrei funktionieren, also ebenfalls überprüfen!
Sollte alles funktionieren, dann kann es jetzt weiter gehen:
Update von 4.0.x auf 4.1.x:
Bitte beachten!
Vorher sollten unbedingt die Datenbanken gesichert werden!!!
- cd /usr/local/mysql/current/bin/
- mysqldump \
- --all-databases \
- --add-drop-table \
- --add-locks \
- --user=root \
- --password=geheim \
- > /tmp/backup_4.0.22.sql
Danach der MySQL-Server stoppen.
Die Anleitung Upgrading from 4.0.x sollte auch unbedingt gelesen werden, da ich hier nicht auf alle Details eingehe.
Bitte nur die reine Installation durchführen, auch das Anlegen des user/group und der Verzeichnisse
auslassen (wenn diese bereits bestehen), danach hierher zurückkehren und diese Anweisungen folgen!
- cd /usr/local/mysql/current/bin/
- ln -s mysqld_safe safe_mysqld
- /etc/init.d/mysql.server start
- ./mysql --user=root --password=geheim < /tmp/backup_4.0.22.sql
- cd /usr/local/src/mysql-4.1.20/scripts/
- ./mysql_fix_privilege_tables --password="geheim"
Bei dem "geheim" handelt sich um das Paßwort für root. Fehlermeldung mit
Duplicate column and Unknown column können ignoriert werden.
Hiernach sollte die Tabelle mysql überprüft werden, ob alle Inhalte richtig sind,
ein Test mit einer Anwendung (z.B. phpMyAdmin) sollte fehlerfrei funktionieren, also ebenfalls überprüfen!
Sollte alles funktionieren, dann kann es jetzt weiter gehen:
Update von 4.1.x auf 5.0.x:
Bitte beachten!
Vorher sollten unbedingt die Datenbanken gesichert werden!!!
- cd /usr/local/mysql/current/bin/
- mysqldump \
- --all-databases \
- --add-drop-table \
- --add-locks \
- --user=root \
- --password=geheim \
- > /tmp/backup_4.1.20.sql
Danach der MySQL-Server stoppen.
Die Anleitung Upgrading from 4.1.x sollte auch unbedingt gelesen werden, da ich hier nicht auf alle Details eingehe.
Bitte nur die reine Installation durchführen, auch das Anlegen des user/group und der Verzeichnisse
auslassen (wenn diese bereits bestehen), danach hierher zurückkehren und diese Anweisungen folgen!
- cd /usr/local/mysql/current/bin/
- ln -s mysqld_safe safe_mysqld
- /etc/init.d/mysql.server start
- ./mysql --user=root --password=geheim < /tmp/backup_4.0.22.sql
- cd /usr/local/src/mysql-4.1.20/scripts/
- ./mysql_fix_privilege_tables --password="geheim"
Bei dem "geheim" handelt sich um das Paßwort für root. Fehlermeldung mit
Duplicate column and Unknown column können ignoriert werden.
Hiernach sollte die Tabelle mysql überprüft werden, ob alle Inhalte richtig sind,
ein Test mit einer Anwendung (z.B. phpMyAdmin) sollte fehlerfrei funktionieren, also ebenfalls überprüfen!
DBD::Mysql aktualisieren:
Sollte DBD::mysql eine kleiner Version als 2.x haben, bitte unbedingt erneuern! Wenn bei der Installation per
perl -MCPAN -e 'install DBD::Mysql der Fehler no library found for -lmysqlclient auftauchen, dann bitte
manuell installieren:
- export LANG='C'
- perl Makefile.PL \
- --libs='-L/usr/local/mysql/current/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm' \
- --testdb=test \
- --testuser=root \
- --testpassword=geheim \
- make
- make test
- make install
Die Datenbank test sollte natürlich vorhanden sein, bei dem "geheim" handelt sich um das Paßwort für root.
phpMyAdmin aktualisieren:
Es empfiehlt sich ebenfalls eine neuere Version von phpMyAdmin zu installieren, nachfolgende Version wäre zu empfehlen
(bei mir ist derzeit noch Version 2.5.7 installiert):





