Có vẻ như bảng người dùng của bạn bị hỏng. Có khả năng quá trình khởi động lại mà bạn đề cập đã kích hoạt nâng cấp lên MySQL và mysql_upgrade
tập lệnh không được chạy. Điều này sẽ giải quyết tình huống:
mysql_upgrade -u root -ppassword --skip-grant-tables
mysql -u root -ppassword -e "UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'mangos'; FLUSH PRIVILEGES"
Nguồn: http://kb.odin .com / vi / 126676
Cung cấp --force
tùy chọn để mysql_upgrade
sẽ áp dụng lại các tập lệnh nâng cấp ngay cả khi nâng cấp đã được thực hiện. Điều này có thể cần thiết trong trường hợp khôi phục một phần từ bản sao lưu.
Cũng đáng nói hơn, lệnh thay đổi mật khẩu người dùng đã thay đổi trong MySQL 5.7.6 / MariaDB 10.2.0 và chuyển tiếp:
ALTER USER mangos IDENTIFIED BY 'mangos';
Đây hiện là phương pháp ưa thích để đặt mật khẩu, mặc dù SET PASSWORD
cũ hơn cú pháp không chính thức không được dùng nữa.