nhờ @thusharaK, tôi có thể đặt lại mật khẩu gốc mà không cần biết mật khẩu cũ.
Trên ubuntu, tôi đã làm như sau:
sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-networking
Sau đó chạy mysql trong một thiết bị đầu cuối mới:
mysql -u root
Và chạy các truy vấn sau để thay đổi mật khẩu:
UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
FLUSH PRIVILEGES;
Trong MySQL 5.7, trường mật khẩu trong trường bảng mysql.user đã bị xóa, bây giờ tên trường là 'verify_string'.
Thoát chế độ an toàn mysql và bắt đầu dịch vụ mysql bằng cách:
mysqladmin shutdown
sudo service mysql start