Khi sử dụng MySQL, bạn có thể gặp cảnh báo như sau trong log:
[Warning] Plugin mysql_native_password reported: 'mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead
Đây chỉ là cảnh báo (warning), không ảnh hưởng trực tiếp đến hoạt động của MySQL. Nó thông báo rằng phương thức xác thực mysql_native_password
đã cũ và sẽ bị loại bỏ trong các phiên bản MySQL tương lai. MySQL khuyến nghị sử dụng caching_sha2_password
, phương thức mới, bảo mật hơn và nhanh hơn.
caching_sha2_password
Để chuyển user từ mysql_native_password
sang caching_sha2_password
, bạn có thể dùng lệnh sau:
ALTER USER 'username'@'host' IDENTIFIED WITH caching_sha2_password BY 'mật_khẩu'; FLUSH PRIVILEGES;
Giải thích:
'username'@'host'
→ tên user và host của user cần cập nhật.IDENTIFIED WITH caching_sha2_password
→ thay đổi plugin xác thực sang caching_sha2_password
.BY 'mật_khẩu'
→ đặt mật khẩu mới cho user. Lưu ý: nếu bạn nhập mật khẩu khác, mật khẩu cũ sẽ không còn hiệu lực.FLUSH PRIVILEGES;
→ cập nhật quyền và plugin mới ngay lập tức.Nếu bạn muốn chuyển plugin mà không thay đổi mật khẩu, bạn cần dùng hash hiện tại trong MySQL:
SELECT user, host, plugin, authentication_string FROM mysql.user WHERE user='username';
Sau đó, dùng hash đó để cập nhật plugin mà không thay đổi mật khẩu:
ALTER USER 'username'@'host' IDENTIFIED WITH caching_sha2_password AS 'hash_từ_cột_authentication_string'; FLUSH PRIVILEGES;
Cách này giúp người dùng không bị đổi mật khẩu, tránh gián đoạn kết nối ứng dụng.
mysql_native_password
đã bị loại bỏ.caching_sha2_password
.Một số driver MySQL cũ (như phiên bản PHP MySQL trước PHP 8) có thể không hỗ trợ caching_sha2_password
. Trong trường hợp này, bạn cần kiểm tra driver hoặc tiếp tục sử dụng mysql_native_password
tạm thời, nhưng hãy lập kế hoạch chuyển đổi khi có thể.
Tóm lại:
ALTER USER ... IDENTIFIED WITH caching_sha2_password BY 'mật_khẩu';
dùng để nâng cấp phương thức xác thực cho user.authentication_string
.mysql_native_password
chỉ là nhắc nhở tương lai, không ảnh hưởng hiện tại.