Bạn có thể đặt lại mật khẩu gốc bằng cách chạy máy chủ với --skip-grant-tables
và đăng nhập mà không cần mật khẩu bằng cách chạy như sau với quyền root (hoặc với sudo):
# service mysql stop
# mysqld_safe --skip-grant-tables &
$ mysql -u root
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
# service mysql stop
# service mysql start
$ mysql -u root -p
Bây giờ bạn sẽ có thể đăng nhập với quyền root bằng mật khẩu mới của mình.
Cũng có thể tìm thấy truy vấn đặt lại mật khẩu trong /home/$USER/.mysql_history
hoặc /root/.mysql_history
của người dùng đã đặt lại mật khẩu, nhưng những điều trên sẽ luôn hoạt động.
Lưu ý:trước MySQL 5.7, cột này được gọi là password
thay vì authentication_string
. Thay thế dòng trên bằng
mysql> update user set password=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';