Root là tài khoản có quyền cao nhất trong cơ sở dữ liệu MySQL! Vào một ngày đẹp trời ta cứ nhập pass là "bạn của ốc" mà không thể đăng nhập được … *cong cong* đau đầu chưa ?

Nếu bạn truy cập được máy chủ và điều khiển trực tiếp MySQL thì có thể thực hiện các bước sau đây để khôi phục lại mật khẩu tài khoản ROOT của bạn 😀

1. Tạm dừng MySQL

Trên ubuntu hoặc Debian:

sudo /etc/init.d/mysql stop

CentOS, Fedora, RHEL:

sudo /etc/init.d/mysqld stop

2. Khởi động chế độ Safe Mode

Ta sẽ khởi chạy MySQL trong chế độ Safe Mode với tham số là --skip-grant-tables bỏ qua bảng đặc quyền người dùng.

sudo mysqld_safe --skip-grant-tables &

Note: Ký tự & cuối dòng lệnh là bắt buộc.

3. Đăng nhập

Trong chế độ Safe mode thì ta có thể đăng nhập bằng tài khoản root mà không phải nhập mật khẩu !

mysql -u root

Xác định cơ sở dữ liệu MySQL

use mysql;

4. Reset mật khẩu

Nhập lại mật khẩu mới cho tài khoản root tại bước này !

update user set password=PASSWORD("mynewp@sswd") where User='root';

Áp đặt hiệu lực

flush privileges;

5. Khởi động lại MySQL

Thoát chương trình mysql ra:

quit

Khởi động lại MySQL bằng việc stop –> start

Trên Ubuntu, Debian:

sudo /etc/init.d/mysql stop
...
sudo /etc/init.d/mysql start

CentOS, Fedora, RHEL:

sudo /etc/init.d/mysqld stop
...
sudo /etc/init.d/mysql start

6. Khôi phục hoàn tất

Đến đây là ta đã vừa reset lại mật khẩu cho tài khoản root, hãy kiểm tra lại bằng cách đăng nhập vào mysql:

mysql -u root -p

Sau khi enter thì nhập vào mynewp@sswd ! Nhớ là không phải pass bạn của ốc nhé 😀

That’s it.

About The Author