Dies ist eigentlich als Kommentar zur vorherigen Antwort gedacht, aber zu groß, um in einen StackExchange-Kommentar zu passen.
Auch ich litt unter diesem Problem. Also habe ich einen neuen Benutzer mit einem neuen Hash erstellt und verwende diesen neuen Benutzer jetzt ohne Probleme. Folgendes habe ich getan:
[172.16.2.222:mysql Thu Nov 7 16:16:25 2013]> use mysql;
Database changed
[172.16.2.222:mysql Thu Nov 7 16:22:23 2013]> describe user;
describe user;
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Host | char(60) | NO | PRI | | |
| User | char(16) | NO | PRI | | |
| Password | char(41) | NO | | | |
Ich war froh zu sehen, dass unsere Passwortspalte bereits breit genug war, um Hashes neuen Stils aufzunehmen. (Wäre es weniger als 41 Zeichen breit gewesen, hätte ich vielleicht nicht den Mut gehabt, es zu erweitern :-)
[172.16.2.222:mysql Thu Nov 7 16:13:10 2013]> show variables like '%pass%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| old_passwords | ON |
| report_password | |
+-----------------+-------+
2 rows in set (0.06 sec)
old_passwords
Sein ON
ist eindeutig das Problem, deshalb habe ich es vorübergehend geändert:
[172.16.2.222:mysql Thu Nov 7 16:13:59 2013]> set session old_passwords = 'OFF';
Query OK, 0 rows affected (0.05 sec)
[172.16.2.222:mysql Thu Nov 7 16:14:12 2013]> show variables like '%pass%';
show variables like '%pass%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| old_passwords | OFF |
| report_password | |
+-----------------+-------+
2 rows in set (0.06 sec)
Dann habe ich einen neuen Benutzer erstellt:
[172.16.2.222:mysql Thu Nov 7 16:14:16 2013]> create user 'erich' IDENTIFIED BY 'SEKRIT PASSWORD';
... und warf einen Blick auf den neuen Hash:
[172.16.2.222:mysql Thu Nov 7 16:14:26 2013]> select * from user order by User;
+-----------+--------------+-------------------------------------------+--------
| Host | User | Password | Select_
+-----------+--------------+-------------------------------------------+--------
| localhost | someguy | 3d9505dd323e53f1 | Y
| % | someotherguy | 79b3df3b004bb855 | Y
| % | erich | *D2589EF6B59146801234567897BB190123456789 | N
| % | anotheroldguy| 60577e0d77b9212b | Y
Beachten Sie, wie mein Hash größer ist als die anderen!
Nur um ordentlich zu sein, ging ich old_passwords
zurück zu OFF
. Dies war wahrscheinlich sinnlos, da ich mir nicht vorstellen kann, warum jemand neue Benutzer mit alten Passwörtern erstellen möchte, aber wer weiß.
Wie auch immer: das hat es für mich gelöst.