Introduction
Bạn đã bao giờ rơi vào tình huống bị khóa quyền truy cập vào trang quản trị WordPress là gì của chính mình và không biết phải xử lý ra sao chưa? Đây là một cảm giác không hề dễ chịu, đặc biệt khi website của bạn đang cần được cập nhật hoặc bảo trì khẩn cấp. Tình trạng mất quyền truy cập quản trị viên có thể xảy ra vì nhiều lý do, từ việc đơn giản là quên mật khẩu, lỗi hệ thống, xung đột plugin, hoặc thậm chí là do các cuộc tấn công bảo mật. Dù nguyên nhân là gì, việc không thể đăng nhập với vai trò admin sẽ khiến mọi hoạt động quản trị website bị đình trệ hoàn toàn.
Tuy nhiên, đừng quá lo lắng, vì luôn có một giải pháp kỹ thuật hiệu quả để giải quyết vấn đề này. Bài viết này sẽ là kim chỉ nam, hướng dẫn bạn từng bước cách thêm một user admin mới trực tiếp từ database của WordPress thông qua công cụ phpMyAdmin. Phương pháp này cho phép bạn tạo một tài khoản quản trị viên mới mà không cần truy cập vào trang admin, giúp bạn nhanh chóng lấy lại toàn quyền kiểm soát website. Chúng ta sẽ cùng nhau đi qua toàn bộ quy trình, từ việc chuẩn bị công cụ, tạo user mới trong bảng dữ liệu, gán quyền admin cao nhất, cho đến việc kiểm tra lại và các lưu ý bảo mật quan trọng cần tuân thủ. Hãy cùng bắt đầu nhé!
Chuẩn bị truy cập phpMyAdmin hoặc công cụ quản lý database
Trước khi bắt đầu bất kỳ thao tác nào, bước chuẩn bị luôn là quan trọng nhất. Để có thể can thiệp trực tiếp vào “trái tim” của website WordPress, bạn cần quyền truy cập vào database. Công cụ phổ biến và mạnh mẽ nhất để làm điều này chính là phpMyAdmin.
Đăng nhập vào phpMyAdmin hoặc công cụ tương tự
phpMyAdmin là một giao diện web cho phép bạn quản lý cơ sở dữ liệu MySQL hoặc MariaDB. Hầu hết các nhà cung cấp dịch vụ hosting đều tích hợp sẵn công cụ này trong trang quản trị hosting (control panel). Để truy cập, đầu tiên bạn cần đăng nhập vào tài khoản hosting của mình. Các control panel phổ biến nhất hiện nay là cPanel, DirectAdmin, hoặc Plesk. Giao diện có thể khác nhau đôi chút, nhưng quy trình về cơ bản là tương tự. Nếu bạn muốn tìm hiểu thêm về Thiết kế web WordPress cũng sẽ giúp bạn hiểu hơn về cách quản lý hosting và website liên quan.

Sau khi đăng nhập thành công vào control panel, bạn hãy tìm đến mục “Databases” hoặc “Cơ sở dữ liệu”. Tại đây, bạn sẽ thấy biểu tượng của phpMyAdmin. Chỉ cần nhấp vào đó, bạn sẽ được tự động chuyển đến giao diện quản lý database mà không cần nhập thêm mật khẩu. Trong một số trường hợp, nếu bạn đang quản lý VPS hoặc server riêng, bạn có thể cần truy cập phpMyAdmin qua một đường dẫn URL riêng và đăng nhập bằng tài khoản và mật khẩu quản trị database đã được cấp.
Xác định database WordPress
Một khi đã vào được phpMyAdmin, bạn sẽ thấy một danh sách các database ở cột bên trái. Nếu bạn chỉ có một website trên hosting, việc xác định database khá đơn giản. Tuy nhiên, nếu bạn quản lý nhiều website, bạn cần phải biết chính xác database nào thuộc về website WordPress mà bạn đang muốn xử lý. Việc thao tác nhầm database có thể gây ra những hậu quả nghiêm trọng cho một website khác.
Vậy làm thế nào để biết đúng database của website? Cách chính xác nhất là kiểm tra tệp tin wp-config.php trong thư mục gốc của website WordPress. Bạn có thể truy cập tệp này thông qua trình quản lý tệp (File Manager) trong control panel hosting. Hãy mở tệp wp-config.php lên và tìm dòng lệnh sau: define( 'DB_NAME', 'ten_database_cua_ban' );. Giá trị ten_database_cua_ban chính là tên database mà bạn cần tìm trong phpMyAdmin.

Một lưu ý cực kỳ quan trọng trước khi bạn thực hiện bất kỳ thay đổi nào: hãy sao lưu (backup) toàn bộ database của bạn. Đây là một nguyên tắc vàng không bao giờ được bỏ qua. Trong phpMyAdmin, bạn có thể chọn database cần sao lưu, sau đó vào tab “Export” (Xuất) và làm theo hướng dẫn để tải về một bản sao lưu dưới dạng tệp .sql. Việc này đảm bảo rằng nếu có bất kỳ sai sót nào xảy ra trong quá trình chỉnh sửa, bạn luôn có thể khôi phục lại trạng thái ban đầu một cách an toàn. Để tìm hiểu thêm về Cách sử dụng WordPress sẽ giúp bạn có kiến thức tổng quát khi thao tác với WordPress.
Hướng dẫn tạo user admin mới trong bảng wp_users
Sau khi đã xác định đúng database và thực hiện sao lưu an toàn, bây giờ là lúc chúng ta tiến hành tạo một người dùng mới. Trong cấu trúc database của WordPress, mọi thông tin về người dùng được lưu trữ trong bảng wp_users.
Thêm bản ghi mới trong bảng wp_users
Trong giao diện phpMyAdmin, sau khi đã chọn đúng database, bạn sẽ thấy một danh sách các bảng. Hãy tìm và nhấp vào bảng có tên là wp_users. Tiền tố wp_ có thể khác nhau tùy theo cấu hình cài đặt ban đầu của bạn, nhưng nó sẽ luôn kết thúc bằng _users (ví dụ: wpab_users). Để hiểu rõ hơn về cơ chế theme và plugin có thể liên quan đến quyền truy cập, bạn nên tham khảo bài viết về Theme WordPress và Cài đặt plugin.

Khi bảng wp_users được mở ra, bạn hãy nhấp vào tab “Insert” (Chèn) ở thanh menu trên cùng. Một biểu mẫu sẽ hiện ra, cho phép bạn thêm một bản ghi mới, tức là tạo một user mới. Bạn không cần điền tất cả các trường, chỉ cần tập trung vào những trường quan trọng nhất sau đây:
- ID: Đây là khóa chính, bạn có thể để trống để hệ thống tự động gán một số ID mới không trùng lặp.
- user_login: Tên đăng nhập bạn muốn tạo. Hãy chọn một cái tên dễ nhớ nhưng không quá đơn giản, ví dụ:
adminmoi.
- user_pass: Mật khẩu cho tài khoản mới. Đây là phần quan trọng nhất. Bạn không thể nhập mật khẩu dạng văn bản thuần túy (plaintext) ở đây. Thay vào đó, bạn phải nhập mật khẩu đã được mã hóa. Ở cột “Function” (Hàm) tương ứng với trường
user_pass, hãy chọn MD5 từ danh sách thả xuống. Sau đó, ở cột “Value” (Giá trị), bạn nhập mật khẩu mong muốn, ví dụ: PasswordMoi@123. Hệ thống sẽ tự động mã hóa nó bằng thuật toán MD5 khi lưu.

- user_nicename: Tên hiển thị công khai. Bạn có thể nhập giống
user_login hoặc một tên thân thiện hơn, ví dụ: Admin Moi.
- user_email: Địa chỉ email của bạn. Hãy nhập một email hợp lệ mà bạn có quyền truy cập.
- user_registered: Thời gian đăng ký. Bạn có thể chọn ngày giờ hiện tại.
- user_status: Trạng thái người dùng. Hãy nhập giá trị là
0.
Sau khi đã điền đầy đủ các thông tin trên, hãy nhấn nút “Go” hoặc “Thực hiện” ở cuối trang để lưu lại bản ghi mới này. Nếu thành công, bạn sẽ nhận được thông báo “1 row inserted” và bạn có thể quay lại tab “Browse” (Duyệt) để thấy người dùng mới của mình đã xuất hiện trong danh sách.
Lưu ý về định dạng và dữ liệu
Việc điền đúng định dạng dữ liệu là vô cùng quan trọng để WordPress có thể nhận diện và xử lý người dùng mới một cách chính xác. Hãy đảm bảo rằng tên đăng nhập (user_login) không chứa ký tự đặc biệt hoặc dấu cách. Email (user_email) phải có cấu trúc hợp lệ (ví dụ: ten@domain.com).
Một điểm cần lưu ý khác là về ID của người dùng. Mặc dù chúng ta có thể để hệ thống tự động tăng, nhưng nếu bạn muốn tự đặt, hãy chắc chắn rằng ID này chưa tồn tại trong bảng wp_users để tránh xung đột dữ liệu. Bạn có thể xem cột ID của những người dùng hiện có để chọn một số lớn hơn. Tuy nhiên, cách an toàn nhất vẫn là để trống và để MySQL tự quyết định.
Việc mã hóa mật khẩu là bắt buộc. WordPress không lưu trữ mật khẩu dưới dạng văn bản gốc để bảo mật. MD5 là một lựa chọn nhanh chóng và được hỗ trợ sẵn trong phpMyAdmin, đủ để bạn lấy lại quyền truy cập. Sau khi đăng nhập thành công vào trang quản trị, bạn nên đổi mật khẩu ngay lập tức. WordPress sẽ tự động mã hóa lại mật khẩu mới bằng một thuật toán mạnh hơn.

Gán quyền quản trị cho user mới trong bảng wp_usermeta
Chỉ tạo một người dùng trong bảng wp_users thôi là chưa đủ. Ở bước này, tài khoản của bạn chỉ là một người dùng bình thường, chưa có bất kỳ quyền hạn nào trên website. Để gán quyền quản trị viên (Administrator), chúng ta cần phải thêm một vài thông tin vào bảng wp_usermeta. Để hiểu sâu hơn về cơ chế hoạt động của plugin quản lý, bạn có thể tham khảo thêm bài viết về Plugin popup WordPress hoặc Jetpack là gì để biết các tiện ích hỗ trợ bảo mật và quản lý.
Thêm meta_key và meta_value cho quyền admin
Bảng wp_usermeta là nơi lưu trữ các thông tin bổ sung (metadata) về người dùng, bao gồm cả vai trò và quyền hạn của họ. Tương tự như trước, hãy tìm và nhấp vào bảng wp_usermeta (tiền tố wp_ có thể khác) trong danh sách các bảng.
Bây giờ, bạn cần ghi nhớ ID của người dùng mà bạn vừa tạo ở bảng wp_users. Giả sử ID đó là 4. Chúng ta sẽ cần thêm hai bản ghi mới vào bảng wp_usermeta cho user_id này. Hãy nhấp vào tab “Insert” (Chèn) và chuẩn bị thêm bản ghi đầu tiên với các thông tin sau:
- umeta_id: Để trống để hệ thống tự động tạo.
- user_id: Nhập
ID của user bạn vừa tạo (ví dụ: 4).
- meta_key: Nhập chính xác chuỗi
wp_capabilities. Lưu ý, nếu tiền tố website của bạn khác wp_, bạn cũng phải thay đổi ở đây (ví dụ: wpab_capabilities).
- meta_value: Đây là phần quan trọng nhất. Bạn cần dán chính xác chuỗi serialized sau:
a:1:{s:13:"administrator";b:1;}. Chuỗi này có nghĩa là “một mảng có 1 phần tử, với key là ‘administrator’ (dài 13 ký tự) và giá trị là boolean ‘true’ (b:1)”.

Sau khi điền xong, nhấn “Go”. Tiếp theo, bạn cần lặp lại quy trình để thêm bản ghi thứ hai. Vẫn ở tab “Insert”, điền các thông tin sau:
- umeta_id: Để trống.
- user_id: Nhập lại
ID của user (ví dụ: 4).
- meta_key: Nhập chính xác chuỗi
wp_user_level. Tương tự, hãy thay đổi tiền tố nếu cần.
- meta_value: Nhập giá trị là
10. Trong WordPress, cấp độ 10 là cấp độ cao nhất, tương ứng với quyền quản trị viên.
Nhấn “Go” một lần nữa để lưu bản ghi thứ hai. Hoàn thành hai bước này, bạn đã chính thức cấp quyền Administrator cao nhất cho tài khoản mới của mình.
Kiểm tra dữ liệu usermeta để tránh lỗi quyền hạn
Sai một ly, đi một dặm. Việc nhập sai dù chỉ một ký tự trong các trường meta_key hoặc meta_value có thể khiến việc cấp quyền thất bại. Sau khi đã thêm hai bản ghi, bạn nên quay lại tab “Browse” (Duyệt) của bảng wp_usermeta và sử dụng chức năng tìm kiếm hoặc sắp xếp theo user_id để kiểm tra lại các giá trị bạn vừa nhập.
Hãy chắc chắn rằng user_id đã đúng, meta_key là wp_capabilities và wp_user_level (với đúng tiền tố), và meta_value cũng hoàn toàn chính xác. Đặc biệt, chuỗi serialized a:1:{s:13:"administrator";b:1;} rất dễ bị sao chép lỗi hoặc có thêm khoảng trắng không mong muốn. Nếu sau khi hoàn thành tất cả các bước mà bạn vẫn không thể đăng nhập hoặc không có đủ quyền admin, thì 90% nguyên nhân nằm ở việc nhập sai thông tin trong bảng wp_usermeta này.

Common Issues/Troubleshooting
Mặc dù quy trình trên khá đơn giản, nhưng đôi khi bạn vẫn có thể gặp phải một số sự cố không mong muốn. Dưới đây là cách xác định và khắc phục các vấn đề thường gặp.
Tạo user nhưng không thể đăng nhập được
Đây là lỗi phổ biến nhất. Bạn đã làm theo tất cả các bước nhưng khi cố gắng đăng nhập bằng tài khoản mới, hệ thống lại báo “Sai tên người dùng hoặc mật khẩu”. Nguyên nhân có thể đến từ một vài yếu tố.
Đầu tiên, hãy kiểm tra lại mật khẩu. Bạn có chắc chắn đã chọn hàm MD5 khi nhập mật khẩu trong bảng wp_users không? Nếu bạn chỉ nhập mật khẩu dưới dạng văn bản thường, WordPress sẽ không thể xác thực được. Hãy quay lại bảng wp_users, tìm đến người dùng của bạn, nhấn “Edit” (Sửa) và nhập lại mật khẩu, đồng thời đảm bảo cột “Function” được đặt là MD5. Thứ hai, hãy kiểm tra lại user_login (tên đăng nhập). Có thể bạn đã gõ nhầm khi đăng nhập. Hãy sao chép trực tiếp từ cột user_login trong database để đảm bảo chính xác tuyệt đối.
Nếu tên đăng nhập và mật khẩu đã đúng nhưng vẫn không vào được, hoặc vào được nhưng không thấy trang quản trị, vấn đề có thể nằm ở quyền hạn. Hãy quay lại bảng wp_usermeta và kiểm tra kỹ hai bản ghi wp_capabilities và wp_user_level như đã hướng dẫn ở phần trước. Đảm bảo rằng user_id chính xác và các giá trị meta_value không bị sai sót. Một lỗi nhỏ trong chuỗi serialized cũng đủ để hệ thống không nhận diện bạn là admin.

Lỗi truy cập hoặc không nhìn thấy bảng wp_users
Một vấn đề khác bạn có thể gặp phải là không thể truy cập phpMyAdmin, hoặc sau khi truy cập lại không thấy các bảng quen thuộc như wp_users hay wp_usermeta. Tình huống này thường không liên quan đến WordPress mà là do cấu hình phía server hoặc hosting.
Nguyên nhân có thể là do tài khoản người dùng database của bạn không có đủ quyền để xem hoặc chỉnh sửa các bảng. Điều này ít khi xảy ra trên các môi trường shared hosting thông thường nhưng có thể xuất hiện trên các VPS hoặc server tự cấu hình. Trong trường hợp này, bạn cần kiểm tra lại quyền của user database trong phần quản lý MySQL của hosting.
Nếu bạn chắc chắn rằng mình đang truy cập đúng database (đã kiểm tra wp-config.php) nhưng các bảng vẫn không hiển thị, đây là lúc bạn nên liên hệ với bộ phận hỗ trợ kỹ thuật của nhà cung cấp hosting. Họ có công cụ và quyền hạn cao hơn để kiểm tra và khắc phục các sự cố liên quan đến quyền truy cập database. Hãy giải thích rõ tình hình và các bước bạn đã thực hiện, họ sẽ có thể hỗ trợ bạn một cách nhanh chóng và hiệu quả nhất.
Best Practices
Việc chỉnh sửa trực tiếp database là một thao tác mạnh mẽ nhưng cũng tiềm ẩn nhiều rủi ro. Để đảm bảo an toàn cho website của bạn, hãy luôn tuân thủ các nguyên tắc thực hành tốt nhất sau đây.
Đầu tiên và quan trọng nhất, luôn sao lưu database trước khi thực hiện bất kỳ sửa đổi nào. Như đã đề cập, đây là tấm vé bảo hiểm của bạn. Một bản sao lưu sẽ giúp bạn dễ dàng khôi phục lại trạng thái ban đầu nếu có bất kỳ điều gì đi sai hướng, giúp bạn tránh được những đêm mất ngủ vì làm hỏng website. Nếu muốn nâng cao kỹ năng cài đặt và quản trị website, bạn có thể tham khảo Học WordPress từ cơ bản đến nâng cao.

Thứ hai, hãy sử dụng mật khẩu mạnh. Khi tạo người dùng mới, dù chỉ là tạm thời, hãy đặt một mật khẩu phức tạp bao gồm chữ hoa, chữ thường, số và ký tự đặc biệt. Sau khi đã đăng nhập thành công vào trang quản trị, hãy đổi mật khẩu một lần nữa. WordPress sẽ tự động mã hóa lại bằng một thuật toán bảo mật cao hơn MD5, giúp tăng cường an toàn cho tài khoản của bạn.
Thứ ba, hãy hạn chế chỉnh sửa trực tiếp trên môi trường website đang hoạt động (live environment) nếu không thực sự cần thiết. Nếu bạn có một môi trường thử nghiệm (staging), hãy thực hành các thao tác trên đó trước. Việc này giúp bạn làm quen với quy trình và giảm thiểu rủi ro gây gián đoạn hoạt động của website chính.
Cuối cùng, hãy đảm bảo an toàn cho chính quyền truy cập vào hosting và database của bạn. Sử dụng mật khẩu mạnh cho tài khoản hosting và thay đổi nó định kỳ. Đừng bao giờ lưu mật khẩu ở những nơi không an toàn. Mất quyền kiểm soát hosting đồng nghĩa với việc bạn có thể mất toàn bộ dữ liệu website.
Conclusion
Qua bài viết này, chúng ta đã cùng nhau tìm hiểu một phương pháp kỹ thuật nhưng vô cùng hữu hiệu để giải quyết một trong những vấn đề khó chịu nhất khi quản trị WordPress: mất quyền truy cập admin. Việc thêm một quản trị viên mới trực tiếp qua database bằng phpMyAdmin là một giải pháp khẩn cấp, giúp bạn lấy lại quyền kiểm soát website một cách nhanh chóng và hiệu quả khi mọi cách khác đều thất bại. Quy trình này đòi hỏi sự cẩn thận và chính xác, nhưng hoàn toàn nằm trong tầm tay nếu bạn làm theo đúng từng bước hướng dẫn.
Những điểm mấu chốt cần nhớ là: luôn sao lưu database trước khi bắt đầu, xác định đúng database của website, điền chính xác thông tin trong bảng wp_users với mật khẩu được mã hóa MD5, và quan trọng nhất là gán đúng quyền hạn trong bảng wp_usermeta. Mỗi bước đều đóng vai trò then chốt để đảm bảo thành công. Nếu bạn quan tâm đến việc tối ưu giao diện và trải nghiệm website, đừng bỏ qua việc tìm hiểu Elementor pro để dễ dàng thiết kế trang quản trị và front-end.

Bây giờ, bạn đã có đủ kiến thức và công cụ cần thiết. Hãy chuẩn bị sẵn sàng và làm theo hướng dẫn để lấy lại quyền quản trị website của mình ngay lập tức. Sau khi đã vào lại được trang admin, đừng quên áp dụng ngay các biện pháp bảo mật nâng cao như đổi mật khẩu mới, kiểm tra lại danh sách người dùng và thường xuyên sao lưu website. Việc chủ động phòng ngừa sẽ giúp bạn tránh phải đối mặt với tình huống tương tự trong tương lai.