Bạn quên mật khẩu tài khoản Administrator của trang WordPress? Đừng lo, bạn có thể đổi mật khẩu dễ dàng bằng dòng lệnh MySQL hoặc PHP.

Gần đây mình đã tạo một trang WordPress trên localhost và sử dụng mật khẩu ngẫu nhiên được lưu trên trình duyệt. Hôm sau thì không hiểu vì lý do gì mà trình duyệt lại mất thông tin mật khẩu mình đã lưu. Mình đã tìm kiếm được một vài hướng dẫn để đổi mật khẩu tải khoản Administrator, bao gồm đổi mật khẩu từ PHP và đổi mật khẩu từ dòng lệnh MySQL. Tất nhiên là máy chủ mình không hỗ trợ gửi email để Quên mật khẩu nên mình phải sử dụng các phương pháp khác.

Đổi mật khẩu bằng dòng lệnh MySQL

Hiện tại thì mình đang sử dụng VPS và localhost để chạy trang WordPress, nên mình dùng phương pháp đổi mật khẩu WordPress từ dòng lệnh MySQL. Mình không biết là Shared Hosting có hỗ trợ hay không, nếu không thì bạn sử dụng phương pháp khác nhé.

Cách đổi cũng khá đơn giản chỉ qua một vài dòng lệnh.

Đầu tiên là bạn chạy lệnh “mysql -u root -p” sau đó nhập mật khẩu của root để truy cập vào điều khiển MySQL.

mysql -u root -p
Enter password:

Tiếp theo là sử dụng lệnh “use name-of-database;“, trong đó name-of-database là tên database mà bạn sử dụng cho trang WordPress. Ví dụ ở đây mình sử dụng test:

use test;

Kết quả xuất ra:

MariaDB [(none)]> use test;
Database changed
MariaDB [test]>

Tiếp theo là sử dụng lệnh “show tables LIKE '%users';” để lấy tên bảng lưu dữ liệu người dùng, kết quả xuất ra:

MariaDB [test]> show tables LIKE '%users';
+-------------------------+
| Tables_in_test (%users) |
+-------------------------+
| wp_users                |
+-------------------------+
1 row in set (0.002 sec)

Sau khi lấy được tên bảng dữ liệu người dùng, ví dụ của mình là wp_users, sử dụng lệnh sau, bạn nhớ đổi tên người dùng nhé, ví dụ của mình là Administrator:

SELECT ID, user_login, user_pass FROM wp_users WHERE user_login = 'Administrator';

Kết quả xuất ra:

+----+---------------+------------------------------------+
| ID | user_login    | user_pass                          |
+----+---------------+------------------------------------+
|  1 | Administrator | $P$BdvxUuwhZd/Sm6eogfWnlauCrsfgs61 |
+----+---------------+------------------------------------+
1 row in set (0.044 sec)

Vậy là đã nhìn thấy tên người dùng kèm theo mật khẩu đã được mã hóa.

Tiếp theo là sử dụng lệnh này để đổi mật khẩu cho tài khoản, lưu ý bạn phải nhập mật khẩu chưa được mã hóa, ở đây mình sẽ sử dụng mật khẩu là “123456“:

UPDATE wp_users SET user_pass=MD5('123456') WHERE user_login = 'Administrator';

Kết quả xuất ra như sau là thành công, bạn có thể nhập lại câu lệnh ở trên để kiểm tra lại mật khẩu đã mã hóa đã được thay đổi chưa. Hoặc chỉ cần đăng nhập vào trang WordPress để kiểm tra.

Query OK, 1 row affected (0.007 sec)
Rows matched: 1  Changed: 1  Warnings: 0

Sử dụng lệnh “exit” để thoát trình điều khiển dòng lệnh MySQL. Quá đơn giản đúng không nào.

Đổi mật khẩu bằng PHP

Phương pháp đổi mật khẩu tài khoản Administrator cho WordPress bằng dòng lệnh MySQL có vẻ hơi phức tạp, mình sẽ hướng dẫn cho bạn thêm một phương pháp khác đơn giản hơn rất là nhiều đó là là sử dụng mã PHP.

Thay vì tạo một tệp PHP mới và ghi mã, ở đây mình sẽ ghi vào tệp functions.php của Theme mà mình đang kích hoạt luôn. Phương pháp này yêu cầu bạn phải biết ID của tài khoản, thường là “1“, mật khẩu ví dụ là “123456“, bạn thay thế cho phù hợp nhé.

Mở tệp “wp-content/themes/thu-muc-theme-dang-kich-hoat/functions.php“, thêm đoạn mã sau và lưu lại:

wp_set_password( '123456', 1 );

Hàm wp_set_password sẽ thiết lập mật khẩu mới cho người dùng dựa trên ID.

Lưu ý: sau khi thêm mã, bạn chạy trang WordPress một lần, sau đó xóa mã ra mới có thể đăng nhập được, vì sẽ xãy ra vòng lặp, WordPress sẽ trở lại đăng xuất mỗi khi mật khẩu được thay đổi.

Cách này tuy đơn giản nhưng lệnh sẽ được chạy cho mỗi lần truy cập cho đến khi bạn xóa mã. Bạn có thể cân nhắc sử dụng mã tối ưu hơn hoặc sử dụng một tệp PHP riêng biệt.

Ngoài ra, còn nhiều phương pháp khác mà bạn có thể sử dụng để đổi mật khẩu cho người dùng WordPress như là sử dụng WP-CLI, phpMyAdmin… Chúc bạn thành công!

Leave a comment

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *