I recently had to create admin users for many Wordpress sites from the command line, and I created this script that can be run either from the phpMyAdmin command line or from the shell command line: All you need to do is set up your username, password and email mail and run it.
A simple version with the hard code "wp_prefix" to "wp _"
Create admin Wordpress user:
SET @username = 'YOUR_USERNAME'; SET @password = 'YOUR_PASSWORD'; SET @email = ' YOUR@EMAIL.COM '; INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`) VALUES (@username, MD5(@password), @username, @email, '0'); SET @userid = LAST_INSERT_ID(); INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, @userid, 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}'); INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, @userid, 'wp_user_level', '10');
Delete user
SET @username = 'YOUR_USERNAMEโ'; SET @userid := (SELECT `ID` FROM `wp_users` WHERE `user_login` = @username); DELETE FROM `wp_users` WHERE `ID` = @userid LIMIT 1; DELETE FROM `wp_usermeta` WHERE `user_id` = @userid LIMIT 2;
More advanced version using prepared statements and custom wp_prefix
Create admin user
SET @username = 'YOUR_USERNAME'; SET @password = 'YOUR_PASSWORD'; SET @email = ' YOUR@EMAIL.COM '; SET @wp_prefix = 'MY_WP_PREFIX_'; SET @sql_user = CONCAT('INSERT INTO `',@wp_prefix,'users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`) VALUES ("',@username,'", MD5("',@password,'"), "',@username,'", "',@email,'", "0")'); PREPARE sql_user FROM @sql_user; EXECUTE sql_user; DEALLOCATE PREPARE sql_user; SET @userid = LAST_INSERT_ID(); SET @wp_usermeta1 = CONCAT("INSERT INTO `",@wp_prefix,"usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, ?, '",@wp_prefix,"capabilities', 'a:1:{s:13:\"administrator\";s:1:\"1\";}')"); PREPARE wp_usermeta1 FROM @wp_usermeta1; EXECUTE wp_usermeta1 USING @userid; DEALLOCATE PREPARE wp_usermeta1; SET @wp_usermeta2 = CONCAT('INSERT INTO `',@wp_prefix,'usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, "',@userid,'", "',@wp_prefix,'user_level", "10")'); PREPARE wp_usermeta2 FROM @wp_usermeta2; EXECUTE wp_usermeta2; DEALLOCATE PREPARE wp_usermeta2;
Delete user
SET @username = 'YOUR_USERNAME'; SET @wp_prefix = 'MY_WP_PREFIX_'; SET @sql_userid = CONCAT('SELECT @userid := `ID` FROM `',@wp_prefix,'users` WHERE `user_login` = "',@username,'"'); PREPARE sql_userid FROM @sql_userid; EXECUTE sql_userid; DEALLOCATE PREPARE sql_userid; SET @wp_users = CONCAT('DELETE FROM `',@wp_prefix,'users` WHERE `ID` = "',@userid,'" LIMIT 1'); PREPARE wp_users FROM @wp_users; EXECUTE wp_users; DEALLOCATE PREPARE wp_users; SET @wp_usermeta = CONCAT('DELETE FROM `',@wp_prefix,'usermeta` WHERE `user_id` = "',@userid,'" LIMIT 2'); PREPARE wp_usermeta FROM @wp_usermeta; EXECUTE wp_usermeta; DEALLOCATE PREPARE wp_usermeta;