Add a Super Admin User in phpMyAdmin
Sometimes when you work with WordPress multisite network you may need to create a super administrator user not from the dashboard, but from the database with the help of SQL queries.
And in this tutorial I am about to show you how. There are actually only two steps we need to do:
Create an Administrator User in phpMyAdmin
So, everything begins with creating a regular administrator first. We need 2 SQL queries for that.
In this first one we’re just creating a user:
INSERT INTO wp_users ( user_login, user_pass, user_nicename, user_email, user_url, user_registered, display_name)
VALUES ( 'rudrastyh', MD5('myPasswrd'), 'rudrastyh', 'no-reply@rudrastyh.com', 'https://rudrastyh.com', '2023-04-14 09:25:20', 'Misha Rudrastyh' );Then we must assign this user some capabilities.
INSERT INTO wp_usermeta (user_id, meta_key, meta_value)
VALUES ( 2, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}' )Please don’t forget to replace 2 with the actual user ID you’ve just created.

wp_users database table.Wait. Aren’t we talking about WordPress Multisite right now? Why we are working just with a regular WordPress database wp_users and wp_usermeta columns? If questions like this appear in your mind, I recommend you my another tutorial about multisite database structure.
Make a User Super Admin
This one actually can be a little bit tricky.
Infomation about super admins in a multisite network is stored as site meta in wp_sitemeta table. In a single option. Most likely this option already exists. It means that we can use an UPDATE SQL query and replace the existing super admins with our new one just like this:
UPDATE wp_sitemeta SET site_admins='a:1:{i:0;s:9:"rudrastyh";}' WHERE site_id=1;Please note that after running this query all the existing super admins will stop being super admins! So maybe in your case it is better to change this option manually. But what is inside it? What is actually site_admins value?
It is simple – it is just a serialized array of usernames, for example Array( 'rudrastyh' ), or Array( 'misha', 'rudrastyh' ), so you can use serialize() PHP function or any kind of a online tool out there to convert it to a:2:{i:0;s:5:"misha";i:1;s:9:"rudrastyh";}. You you can even format it by yourself:
a:2:– it means an array with 2 elements,i:0;s:5:– it means the first element of array which is a string of length 5,i:1;s:9:– second array element which is a string of length 9.
Misha Rudrastyh
Hey guys and welcome to my website. For more than 15 years I've been doing my best to share with you some superb WordPress guides and tips for free.
Need some developer help? Contact me
Thank you for providing such precise information—it’s exactly what I was looking for! Could you let me know which program you use to create your fantastic and fast website? I’m in the process of building a simple website for my business and need some guidance on choosing a name and a hosting provider. ASPHostPortal seems to have an excellent reputation. Are there any other hosting options you would suggest? I would greatly appreciate your recommendations!
I am just using WordPress :)
It is always difficult to say about hostings, because it depends on a situation.
Thanks a lot!
Fixed my Problem :)
Thank you for this tutorial, most sites don’t have the multisite instructions.