Creating WordPress User’s in MySQL


Not to long ago, I found myself completely locked out of the dashboard of a WordPress site I needed access to.

The client changed their password but couldn’t remember what to. Thankfully I remembered that WordPress stores all metadata (like usernames, passwords, user roles & all other settings) in a MySQL database which I have access to.

Here’s what I did

Using Coda 2, I accessed the site’s core files on the client’s server. WordPress uses the wp-config.php file to store database connection information. Typically this file is created when WordPress is getting installed and as long as the site is working correctly doesn’t get much attention.

// ** MySQL settings — You can get this info from your web host ** // /** The name of the database for WordPress */ define(‘DB_NAME’, ‘database_name_here’); /** MySQL database username */ define(‘DB_USER’, ‘username_here’); /** MySQL database password */ define(‘DB_PASSWORD’, ‘password_here’); /** MySQL hostname */ define(‘DB_HOST’, ‘localhost’);

The DB_NAME, DB_USER, DB_PASSWORD, DB_HOST fields are what I needed.

I then copied the DB_HOST value and pasted it into my web browser, here I was then prompted to supply the DB_USER and DB_PASSWORD values. Once I did that I got into phpMyAdmin — a web editor for MySQL.

On the left hand side, I selected the database I needed (from DB_NAME) and then the SQL tab. In the run SQL query box, I dropped the following in and then hit go.

INSERT INTO `databasename`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES (‘21', ‘username_here’, MD5(‘password_here’), ‘Justin Chick’, ‘hey@justinchick.com’, ‘http://justinchick.com/', ‘2014–12–06 00:00:00', ‘’, ‘0', ‘Justin Chick’); INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, ‘21', ‘wp_capabilities’, ‘a:1:{s:13:”administrator”;s:1:”1";}’); INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, ‘21', ‘wp_user_level’, ‘10');

After that I went to dashboard login for WordPress and entered the username and password I just created and just like that, I was inside the dashboard.


Originally published at justinchick.com on December 8, 2014.