Điều này thực sự có ý nghĩa như một nhận xét về câu trả lời trước đó, nhưng quá lớn để phù hợp với nhận xét StackExchange.
Tôi cũng bị vấn đề này. Vì vậy, tôi đã tạo một người dùng mới với hàm băm kiểu mới và bây giờ sử dụng người dùng mới đó mà không gặp rắc rối. Đây là những gì tôi đã làm:
[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 | | | |
Tôi rất vui khi thấy rằng cột Mật khẩu của chúng tôi đã đủ rộng để chứa các giá trị băm kiểu mới. (Nếu nó rộng chưa đến 41 ký tự, tôi có thể không đủ can đảm để mở rộng nó :-)
[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
con người ON
rõ ràng là vấn đề, vì vậy tôi tạm thời thay đổi nó:
[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)
Sau đó, tôi đã tạo một người dùng mới:
[172.16.2.222:mysql Thu Nov 7 16:14:16 2013]> create user 'erich' IDENTIFIED BY 'SEKRIT PASSWORD';
... và đã xem băm mới:
[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
Lưu ý cách băm của tôi lớn hơn những người khác!
Chỉ để gọn gàng, tôi old_passwords
trở lại OFF
. Điều này có lẽ là vô nghĩa, vì tôi không thể nghĩ tại sao mọi người muốn tạo người dùng mới bằng mật khẩu cũ, nhưng ai biết được.
Dù sao: điều này đã giải quyết nó cho tôi.