Tôi đã gặp sự cố này và giải quyết nó bằng cách nhập db shell và yêu cầu mysql sử dụng plugin xác thực mysql_native_password để xác thực cơ sở dữ liệu của bạn. Đây là một plugin cũ hơn và có lẽ đáng để tìm kiếm một plugin mới hơn cũng tương thích với trình điều khiển kết nối mysql của Python, nhưng đây là cách duy nhất tôi có thể làm cho nó hoạt động.
ALTER USER 'user_name'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password123'
Trong ví dụ do op cung cấp, bạn sẽ thay thế root
cho user_name
.
Tìm hiểu thêm về plugin: https:// dev. mysql.com/doc/refman/8.0/en/native-pluggable-authentication.html