Umstellung von mysql 4.0 auf 4.1
am 11.05.2007 - 21:20 Uhr in
Hallo,
ich habe drupal 5 auf einem managed-Server laufen (Linux-Server/apache/php4) mit mysql 4.0.25. Mein Provider stellt den Server auf mysql 4.1 um und ich frage mich jetzt, was ich bezüglich drupal tun muß. Die wichtigesten Änderungen bei mysql 4.0 zu 4.1 betreffen die PASSWORD()-Funktion und die Kollation.
Zu den Paßwörtern: sie werden von drupal bereits mit einer Länge von 32 characters abgespeichert. Außerdem entnehme ich der function user_save im user.module, daß für die Paßwörter nicht die PASSWORD()-Funktion verwendet wird, sondern diese per md5 verschlüsselt werden und so in der Datenbank gespeichert werden.
if ($key == 'pass' && !empty($value)) {
$query .= "$key = '%s', ";
$v[] = md5($value);
}Es dürfte sich also bezüglich der Paßwörter nichts ändern, oder anders gesagt: jeder User kann sich nach dem upgrade von mysql mit seinem bisherigen Paßwort einloggen.
Stimmt das, oder übersehe ich etwas?
Zur Kollation: wenn ich eine Datenbanktabelle meiner drupal-Installation in meine lokale Installation importiere die mit mysql 4.1 läuft, dann hat diese Tabelle die Kollation latin1_german1_ci. Bei http://drupal.org/node/68100 habe ich eine Anleitung gefunden, wie ich alle Tabellen auf utf8 umstellen kann (denn alle drupal-Tabellen auf meinem lokalen 4.1-Server haben die Kollation utf8)
Die Umstellung auf utf8 (mit 'alter table prefix_users character set utf8;') hat zwar die Kollation der Tabelle verändert, die einzelnen Tabellenfelder haben aber immer noch die Kollation latin1_swedish_ci.
Weiß jemand, ob das Nachteile, Nebenwirkungen hat? Umlaute werden jedenfalls korrekt angezeigt.
Dann ist diese Tabelle als MyISAM importiert worden, fast alle anderen vorhandenen Tabellen sind aber vom Typ InnoDB. Ist das ein Nachteil, kann es Probleme damit geben? Und wenn ja, wie kann ich das ändern (es sollte dafür ja auch einen Befehl mit alter table geben)
Gruß Petra
- Anmelden oder Registrieren um Kommentare zu schreiben

Anleitung
am 12.05.2007 - 17:20 Uhr
.. zu geben, wäre hier Quark, denn das Problem mit collations ist bereits tausend mal beschrieben. Google einfach n bissl nach Update-Problemen von MySQL 4.0 auf 4.1!
1. Passwörter bleiben natürlich erhalten!
2. Mein Tipp, wenn die Datenbank nicht zu groß ist, einfach per mysql_dump oder per phpMyAdmin als Text exportieren, alle collation - Befehle aus der Datei löschen (suchen und durch "" ersetzen), und dann wieder ab, zurück in die frische oder geleerte Datenbank mit eingestellter UTF8-Collation. Eventuell natürlich vorher die Codierung der Textdatei auch noch in UTF8 konvertieren!
Anleitung gefunden
am 12.05.2007 - 19:27 Uhr
...falls jemand mitliest, diese http://www.issociate.de/board/post/269472/ (ganz unten) fand ich brauchbar.
Mit diesem und den anderen Tips sollte ich gerüstet sein.
Danke
Petra