Ora

How to Add an Admin User in a WordPress Database

Published in WordPress Database Administration 6 mins read

Adding an admin user directly to your WordPress database is a critical troubleshooting step, often used when you're locked out of your WordPress admin area, have forgotten your password, or need to restore administrative access after an issue. This method bypasses the standard WordPress login and registration processes, granting immediate admin privileges.

Why Manually Add an Admin User?

There are several scenarios where directly adding an admin user via the database becomes necessary:

  • Lost Administrator Credentials: If you've forgotten the password for all admin accounts and email recovery isn't working.
  • Locked Out of wp-admin: Plugin conflicts, theme issues, or incorrect user roles can sometimes lock you out.
  • Corrupted User Data: If your user tables are compromised or missing essential information.
  • Website Migration: In rare cases, user data might not transfer correctly during a migration.

Step-by-Step Guide to Adding an Admin User via Database

This process typically involves using a database management tool like phpMyAdmin, which is commonly available through your hosting provider's control panel (e.g., cPanel).

Prerequisite: Accessing Your Database

Before you begin, you'll need to access your WordPress database. Most hosting providers offer phpMyAdmin as a tool for this purpose. Log into your hosting account's control panel and locate the phpMyAdmin option, usually found under a "Databases" section.

Step 1: Navigate to the wp_users Table

Once you're in phpMyAdmin, select your WordPress database from the left-hand sidebar. Your database name typically follows a pattern like username_wp or dbname. After selecting the database, you'll see a list of tables.

Click on the table that ends on _users (e.g., wp_users) to view the current list of users on your WordPress site. The prefix (wp_ in wp_users) might be different if you changed it during WordPress installation (e.g., myblog_users).

Step 2: Insert New User Data

With the wp_users table open, click the Insert tab at the top of the screen to add the information for your new admin user. You will see a form with various fields. Here's a breakdown of the essential fields to complete:

Field Name Description Example Value
ID A unique integer for the user. It's crucial to pick a number that is not already in use. You can check the existing ID values by browsing the wp_users table before inserting. 2 (or any unused ID)
user_login This will be the username you use to log into WordPress. Choose something secure and easy to remember. newadmin
user_pass The password for your new admin user. Crucially, you must encrypt this password using the MD5 function. In the Function column next to user_pass, select MD5 from the dropdown list, then type your desired password in the Value column. WordPress will re-hash this password with stronger encryption upon the first successful login. MD5('YourStrongPassword')
user_nicename A URL-friendly version of the username, often the same as user_login but lowercase and with spaces replaced by hyphens. newadmin
user_email The email address associated with this admin user. [email protected]
user_url (Optional) The user's website URL. You can leave this blank.
user_registered The date and time when the user was registered. Use the format YYYY-MM-DD HH:MM:SS. You can often select CURRENT_TIMESTAMP from the function dropdown. 2023-10-27 14:00:00
user_activation_key Leave this field blank.
user_status Set this to 0. 0
display_name How the user's name will appear on the front-end of your WordPress site (e.g., in post bylines). New Admin User

After filling in these details, scroll to the bottom of the page and click the Go button to insert the new user.

Step 3: Add User Meta Data to wp_usermeta

Now that the user is in the wp_users table, you need to define their roles and capabilities in the wp_usermeta table. This is where you grant them administrator privileges.

  1. Go back to the list of tables on the left and click on the table that ends on _usermeta (e.g., wp_usermeta). Again, your table prefix might differ.

  2. Click the Insert tab to add new meta data. You will need to add two separate entries for your new admin user, using the ID you assigned in Step 2.

    Insert 1: Define User Capabilities

    Field Name Description Value
    umeta_id Leave blank; it's an auto-incrementing ID.
    user_id The ID you assigned to your new user in the wp_users table (e.g., 2). 2
    meta_key This defines the user's roles. Use your table prefix followed by _capabilities. For example, wp_capabilities. wp_capabilities
    meta_value This is a serialized string that grants administrator access. a:1:{s:13:"administrator";b:1;}

    Click Go to insert this entry. Then, you'll need to add a second one.

    Insert 2: Define User Level

    Field Name Description Value
    umeta_id Leave blank.
    user_id The ID of your new user (e.g., 2). 2
    meta_key This defines the user's level. Use your table prefix followed by _user_level. For example, wp_user_level. wp_user_level
    meta_value For an administrator, this value is 10. This is a legacy setting but still required for full compatibility. 10

    Click Go to insert this entry as well.

Step 4: Verify Your New Admin User

After completing both wp_users and wp_usermeta inserts, try logging into your WordPress site's admin area (yourdomain.com/wp-admin) using the user_login (e.g., newadmin) and the password you set (e.g., YourStrongPassword). You should now have full administrator access.

Important Considerations

  • Backup Your Database: Always create a full backup of your WordPress database before making any direct changes. This allows you to revert if something goes wrong.
  • Table Prefix: Pay close attention to your actual table prefix (e.g., wp_, myblog_). Using the wrong prefix will result in errors.
  • Password Security: While MD5 is used for insertion, WordPress will re-hash your password with a stronger algorithm upon your first successful login. Always use a strong, unique password.
  • Cleanup: Once you regain access, you might want to consider deleting any old or compromised user accounts from within the WordPress admin dashboard for security.