chỉnh sửa:Điều này chỉ áp dụng nếu bạn đang kiểm soát máy chủ MySQL ... nếu bạn không xem Phương pháp băm mật khẩu Mysql cũ và mới
Đầu tiên hãy kiểm tra với truy vấn SQL
SHOW VARIABLES LIKE 'old_passwords'
(trong máy khách dòng lệnh MySQL, HeidiSQL
hoặc bất kỳ giao diện người dùng nào bạn thích) cho dù máy chủ được đặt để sử dụng lược đồ mật khẩu cũ theo mặc định. Nếu điều này trả về old_passwords,Off
bạn chỉ tình cờ có các mục nhập mật khẩu cũ trong user
bàn. Máy chủ MySQL sẽ sử dụng quy trình xác thực cũ cho các tài khoản này. Bạn chỉ cần đặt mật khẩu mới cho tài khoản và quy trình mới sẽ được sử dụng.
Bạn có thể kiểm tra quy trình nào sẽ được sử dụng bằng cách xem mysql.user
bảng (với tài khoản có quyền truy cập vào bảng đó)
SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
Điều này sẽ trả về 16 cho các tài khoản có mật khẩu cũ và 41 đối với tài khoản có mật khẩu mới (và 0 đối với tài khoản không có mật khẩu, bạn cũng có thể muốn quan tâm đến những mật khẩu đó).
Sử dụng các công cụ quản lý người dùng của giao diện người dùng MySQL (nếu có) hoặc
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
FLUSH Privileges;
(thay thế User
và Host
với các giá trị bạn nhận được từ truy vấn trước đó.) Sau đó, hãy kiểm tra lại độ dài của mật khẩu. Nó phải là 41 bây giờ và ứng dụng khách của bạn (ví dụ:mysqlnd) sẽ có thể kết nối với máy chủ.
xem thêm tài liệu MySQL:* http:// dev. mysql.com/doc/refman/5.0/en/old-client.html
* http://dev.mysql. com / doc / refman / 5.0 / en / password-hashing.html
* http://dev.mysql. com / doc / refman / 5.0 / en / set-password.html