MySQL: PW unter Linux != PW unter Windows
Klaus
- datenbank
Hallo,
also ich bin gerade dabei, eine LAMP-Umgebung aufzubauen.
Jetzt wollte ich per phpMyAdmin ein paar MySQL-Benutzer anlegen.
Allerdings hatte ich immer das Problem, dass ich nach dem anlegen, mich mit dem User nicht einloggen konnte (trotz restart des MySQL-Servers).
Also habe ich mir mal die User-Tabelle angeschaut.
Da habe ich gesehen, dass der User mit dem Passwort 'geheim' den folgenden Hash hatte:
SELECT PASSWORD('geheim') => *462366917EEDD1970A48E87D8EF59EB67D2CA26F
Unter Windows (XAMPP) habe ich einen User mit dem gleichen Passwort, und dort funktioniert es auch einwandfrei.
Da steht in der User-Tabelle folgendes:
SELECT PASSWORD('geheim') => 58982d15048734ee
Ich habe dann das Windows-Passwort kopiert, und in die Linux-MySQL-Tabelle eingefügt.
Zack, jetzt kann ich mich mit dem User einloggen.
Ich verwende unter Linux Version: 4.1.14-standard
und unter Windows: 4.1.10
Der User wurde mit phpMyAdmin 2.6.4-pl1 angelegt und ich habe vesucht micht per phpMyAdmin => Anmeldungsart durch Config: http (.htaccess) anzumelden.
Wodran liegt das? Ist das ein Fehler in MySQL, phpMyAdmin, oder muss ich etwas in der Config ändern?
MFG
Klaus
Hallo,
ab mittlerweise rausgefunden, dass in MySQL 4.1 ein neuer Hash-Typ eingeführt wurde.
Damit es weiter funktioniert, muss man in der Config den Hash-Typ auf OLD_PASSWORD(); ändern.
Allerdings finde ich die mysql-Config unter Linux nicht, und mit dem MySQL-Administrator kann finde ich nicht die Option um diese zu ändern.
Kann mir jmd. helfen?
MFG
Klaus
echo $begrüßung;
ab mittlerweise rausgefunden, dass in MySQL 4.1 ein neuer Hash-Typ eingeführt wurde.
Damit es weiter funktioniert, muss man in der Config den Hash-Typ auf OLD_PASSWORD(); ändern.
Jein. OLD_PASSWORD() ist eine Funktion. Die kann man verwenden, um ein altes Passwort zu erzeugen, man kann sie aber nicht in der Konfiguration verwenden. Dafür gibt es "old-passwords", das man in die Konfigurationsdatei schreibt oder beim Starten des Servers als Parameter mitgibt (dann aber mit zwei Minus-Zeichen vorndran: --old-passwords).
Siehe auch: mysqld Command-Line Options
Allerdings finde ich die mysql-Config unter Linux nicht, und mit dem MySQL-Administrator kann finde ich nicht die Option um diese zu ändern.
Vielleicht liegt sie bei dir unter /etc/mysql/my.cnf.
echo "$verabschiedung $name";
echo $begrüßung;
Ich verwende unter Linux Version: 4.1.14-standard
und unter Windows: 4.1.10
Wofür stehen diese Versionsangaben? Server und Client-API können unterscheidliche Versionen haben, besonders wenn es sich um vorkompilierte Client-Software handelt.
Beispielsweise wurde/wird das vorkompilierte PHP 4.3.x für Windows mit einer V3.irgendwas der MySQL-Client-API ausgeliefert. Die kann dann mit der neuen client authentication eines 4.1er MySQL-Servers nicht umgehen
Wodran liegt das? Ist das ein Fehler in MySQL, phpMyAdmin, oder muss ich etwas in der Config ändern?
Du hast es ja schon herausgefunden. Hier aber der Vollständigkeit halber noch der Link: Password Hashing in MySQL 4.1
echo "$verabschiedung $name";