Upgrade mySQL 4.0 > mySQL 5 via APT (Debian Etch)

MySQL, PostgreSQL, SQLite
segfault
Posts: 3
Joined: 2008-01-03 18:28

Upgrade mySQL 4.0 > mySQL 5 via APT (Debian Etch)

Post by segfault » 2008-01-03 18:55

Hallo,

ich verwende derzeit Debain Etch mit mySQL 4.0 Paketen, das ich nun via APT auf mySQL 5 upgraden möchte.

Zur Zeit verwendet:

ii libdbd-mysql-perl 2.9006-1 A Perl5 database interface to the MySQL data
ii libmysqlclient12 4.0.24-10sarge3 mysql database client library
ii libmysqlclient12-dev 4.0.24-10sarge3 mysql database development files
ii mysql-client 4.0.24-10sarge3 mysql database client binaries
ii mysql-common 5.0.32-7etch3 mysql database common files (e.g. /etc/mysql
ii mysql-server 4.0.24-10sarge3 mysql database server binaries


Gibt es da etwas speziell zu beachten (die Docs unter http://dev.mysql.com/doc/refman/5.0/en/upgrading-from-4-1.html habe ich mir bereits durchgelesen) ?

Vor allem interssieren mich Erfahrungsberichte von Admins, die diesen Schritt von 4.0 und nicht wie beschrieben von 4.1 bereits durchgeführt haben...

Lässt sich mySQL 5 problemlos mit --old-passwords starten ?


Vielen Dank im voraus !

simcen
Posts: 333
Joined: 2003-02-12 14:35
Location: Bern, Schweiz

Re: Upgrade mySQL 4.0 > mySQL 5 via APT (Debian Etch)

Post by simcen » 2008-01-03 19:16

Ich habe ähnliches durchgemacht. Grundsätzlich funktioniert es gut. Es rät sich trotzdem immer, ein Full-Dump zu machen und die Data-Files wegzusichern.
Ein spezielles Augenmerk beim Import/Export/Upgrade ist auf die Encodings zu legen. Am Besten schaust du dir vor dem Start des 5-er Servers gut die Config an.

segfault
Posts: 3
Joined: 2008-01-03 18:28

Re: Upgrade mySQL 4.0 > mySQL 5 via APT (Debian Etch)

Post by segfault » 2008-01-03 19:27

Danke für die schnelle Antwort - Encodings werde ich mir ansehen. Full Dump mache ich auf jeden Fall :)

@simcen: Waren Passwörter der Clients ein Problem ? Wie hast Du das gelöst ?

Habe bei einigem Googlen noch gelesen, dass es evt. Probleme mit "geschützten Keywords" geben kann - kann das wer bestätigen ?

simcen
Posts: 333
Joined: 2003-02-12 14:35
Location: Bern, Schweiz

Re: Upgrade mySQL 4.0 > mySQL 5 via APT (Debian Etch)

Post by simcen » 2008-01-03 20:47

Passwörter waren kein Problem. Mein MySQL läuft mit old_passwords = Off.
Falls es wider erwarten zu Problemen kommt, kann man mit der MySQL Funktion old_password() mit SQL ein 'altes' Passwort setzen.
Hast du neben deinem Server noch andere, dezentrale Clients? Es empfiehlt sich natürlich, auch diese auf die neue Lib hochzuleveln.
Was geschützte Keywords betrifft, kann es nicht zu grundsätzlichen Schwierigkeiten kommen, das hast du selbst in der Hand.
Ich denke ein Blick da rein und ein paar grep's auf dein Code sollte nicht schaden.

Viel Erfolg!

User avatar
isotopp
Posts: 471
Joined: 2003-08-21 10:21
Location: Berlin

Re: Upgrade mySQL 4.0 > mySQL 5 via APT (Debian Etch)

Post by isotopp » 2008-01-03 21:02

segfault wrote:ich verwende derzeit Debain Etch mit mySQL 4.0 Paketen, das ich nun via APT auf mySQL 5 upgraden möchte.


MySQL 4.0 verwendet MyISAM 7 Files. MySQL 5.0 verwendet MyISAM 10 Files. Diese Files sind binär inkompatibel. Insbesondere werden

- keine Zeichensatzinformationen irgendwo in MyISAM 7 gespeichert
- Spalten vom Typ DECIMAL komplett anders abgelegt
- Trailing Spaces bei VARCHAR anders behandelt

und noch einige andere subtile Dinge anders gemacht.

Mache einen full dump, und lies ihn in ein MySQL 5.0 wieder ein. Bearbeite den Full Dump zuvor so, daß der Zeichensatz in den Datenbanken in den CREATE DATABASE Statements wie gewünscht angelegt wird. Bearbeite den Dump außerdem so, daß der Zeichensatz im File mit SET NAMES Zeichensatzname; korrekt deklariert wird. Beide Zeichensätze müssen nicht übereinstimmen.

flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: Upgrade mySQL 4.0 > mySQL 5 via APT (Debian Etch)

Post by flo » 2008-01-03 21:48

segfault wrote:Habe bei einigem Googlen noch gelesen, dass es evt. Probleme mit "geschützten Keywords" geben kann - kann das wer bestätigen ?


Hatte ich bei einem einzigen und uralten Forum, ist lange her, ich weiß nicht mehr exakt was es war. Der Feldname war allerdings ein gängiger Begriff der englischen Sprache - hab das für den Kunden umgestellt, danach die Queries im Forum angepaßt und die Stunde mit Fluchen zugebracht.

segfault
Posts: 3
Joined: 2008-01-03 18:28

Re: Upgrade mySQL 4.0 > mySQL 5 via APT (Debian Etch)

Post by segfault » 2008-01-04 09:11

Danke für Eure Hilfe - werde mich bald ans Upgrade machen !

Werde allfällige Probleme (und Lösungen) dann ins Forum stellen :-D

simcen
Posts: 333
Joined: 2003-02-12 14:35
Location: Bern, Schweiz

Re: Upgrade mySQL 4.0 > mySQL 5 via APT (Debian Etch)

Post by simcen » 2008-01-04 10:18

@flo
Das war glaub Woltlab Burning Board und das keyword AFAIK "condition". Kann mir auch vorstellen, das als Spaltenname zu verwenden.

User avatar
isotopp
Posts: 471
Joined: 2003-08-21 10:21
Location: Berlin

Re: Upgrade mySQL 4.0 > mySQL 5 via APT (Debian Etch)

Post by isotopp » 2008-01-04 10:45

simcen wrote:@flo
Das war glaub Woltlab Burning Board und das keyword AFAIK "condition". Kann mir auch vorstellen, das als Spaltenname zu verwenden.


Es sollten sowieso grundsätzlich um alle Spaltennamen Backticks drum gewickelt werden. Also `condition`, nicht condition. Mindestens wenn man eine "quote()"-Funktion schreibt oder SQL generiert.

Das schützt vor Schlüsselworten und anderen Unpäßlichkeiten.