Você já esqueceu a chave de casa e se sentiu preso do lado de fora? Ficar sem acesso ao seu site WordPress pode ser muito parecido com isso. É muito frustrante, especialmente se os hackers excluíram sua conta de administrador. Mas não se preocupe, você pode voltar a entrar.
Pense em seu site como uma casa com uma porta secreta nos fundos. Essa porta dos fundos é o banco de dados do seu site, que geralmente é acessado por meio do código MySQL. Isso pode parecer complicado, mas é como um conjunto de instruções que você pode usar para fazer alterações em seu site nos bastidores.
Neste artigo, vamos ensiná-lo a usar o MySQL para criar uma nova conta de administrador para o seu site, assim como fazer uma nova chave para a sua casa. Dessa forma, você pode bloquear os hackers e retomar o controle.
Por que adicionar um usuário administrador ao banco de dados do WordPress via MySQL?
Certa vez, tivemos um problema em que o site de um usuário foi invadido e sua conta de administrador foi excluída do banco de dados. Isso o impediu de acessar o site do WordPress.
Conseguimos ajudá-los a obter acesso ao site criando um novo usuário administrador diretamente no site do WordPress. Fizemos isso usando o phpMyAdmin, uma ferramenta baseada na Web que permite gerenciar bancos de dados MySQL usando o navegador da Web.
Se você se encontrar bloqueado fora da área de administração do WordPress devido a hackers ou simplesmente porque esqueceu a senha, poderá fazer o mesmo.
No entanto, você deve sempre fazer um backup do seu banco de dados antes de realizar qualquer edição do MySQL. Depois, quando puder fazer login novamente em seu site, talvez seja necessário seguir nosso guia para iniciantes para corrigir seu site WordPress invadido.
Dito isso, vamos dar uma olhada em como adicionar um usuário administrador ao banco de dados do WordPress via MySQL.
Como adicionar um usuário administrador ao banco de dados do WordPress com o phpMyAdmin
O phpMyAdmin vem pré-instalado na maioria das principais empresas de hospedagem WordPress. Você pode encontrá-lo na seção Databases (Bancos de dados) do painel cPanel da sua conta de hospedagem.
Aqui está uma captura de tela do painel de controle da Bluehost:
Clicar no ícone abrirá a interface do phpMyAdmin. Você precisa selecionar o banco de dados do WordPress na coluna da esquerda.
Depois disso, o phpMyAdmin exibirá todas as tabelas em seu banco de dados do WordPress. Você fará alterações nas tabelas wp_users
e wp_usermeta
.
Adição de um usuário à tabela wp_users
Primeiro, você precisa localizar a tabela wp_users
e clicar nela. Isso mostrará os usuários atualmente listados na tabela.
Observe na captura de tela abaixo que há dois IDs de usuário na tabela do nosso site de demonstração, 1 e 2. Quando criamos um novo usuário para o nosso site de demonstração, esse ID precisa ser exclusivo, portanto, digitaremos o número 3.
Você precisa clicar na guia “Insert” (Inserir) na parte superior da tela para poder inserir as informações de um novo usuário administrador.
Adicione as seguintes informações aos campos do formulário Inserir:
ID
: escolha um número exclusivo (em nosso exemplo, usaremos 3)user_login
: o nome de usuário que será usado ao fazer loginuser_pass
: adicione uma senha e certifique-se de selecionar MD5 no menu de funções (veja a captura de tela abaixo)user_nicename
: o nome completo ou o apelido do usuáriouser_email
: o endereço de e-mail do usuáriouser_url
: o endereço do seu siteuser_registered
: selecione a data e a hora em que o usuário foi registrado usando o calendáriouser_activation_key
: deixar em brancouser_status
: defina esse valor como 0display_name
: o nome completo ou o nome de exibição do usuário
Quando terminar, certifique-se de clicar no botão “Go” (Ir) para armazenar o novo usuário.
Adição de um usuário à tabela wp_usermeta
Agora, você precisa localizar a tabela wp_usermeta
e clicar nela. Depois disso, você deve clicar na guia “Insert” (Inserir), como fez na etapa anterior.
Em seguida, você precisa adicionar as seguintes informações ao formulário Inserir:
unmeta_id
: deixe esse campo em branco (ele será gerado automaticamente)user_id
: o ID de usuário usado na etapa anteriormeta_key
: deve serwp_capabilities
meta_value
: insira isto:a:1:{s:13: "administrator";s:1: "1";}
Depois disso, ao rolar a tela para baixo, você deverá encontrar campos para uma segunda linha. Você precisa adicionar as seguintes informações:
unmeta_id
: deixe esse campo em branco (ele será gerado automaticamente)user_id
: o ID de usuário que você usou nas etapas anterioresmeta_key
: você precisa inserirwp_user_level
meta_valor
: 10
Quando terminar de inserir as informações nos campos, clique no botão “Go” (Ir). Parabéns, você criou um novo nome de usuário de administrador!
Agora, você deve conseguir fazer login na área de administração do WordPress usando o nome de usuário e a senha que especificou para esse usuário.
Assim que fizer login, você precisará navegar até Usuários ” Todos os usuários e clicar no nome de usuário que acabou de criar.
Agora, sem alterar nada, role até a parte inferior da página e clique no botão “Save” (Salvar).
Isso permitirá que o WordPress limpe o usuário que você acabou de criar e adicione algumas informações extras necessárias.
Adição de um usuário administrador ao banco de dados do WordPress usando uma consulta SQL
Se você for um desenvolvedor, poderá acelerar o processo usando código.
Basta inserir essa consulta SQL em seu banco de dados:
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 ('3', 'demo', MD5('demo'), 'Your Name', 'test@example.com', 'http://www.example.com/', '2022-09-01 00:00:00', '', '0', 'Your Name');
INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '3', '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, '3', 'wp_user_level', '10');
Certifique-se de alterar “databasename” para o banco de dados com o qual está trabalhando.
Além disso, não se esqueça de alterar os outros valores para aqueles que você deseja para o novo usuário, conforme explicamos no primeiro método.
Guias de especialistas sobre o que fazer quando o administrador do WordPress está bloqueado
Agora que você sabe como adicionar um usuário administrador por meio do MySQL, talvez queira ver alguns artigos sobre como corrigir seu site quando estiver bloqueado na área de administração do WordPress.
- O que fazer quando você está bloqueado fora da administração do WordPress (wp-admin)
- Como usar o modo de recuperação do WordPress
- Como redefinir uma senha do WordPress no phpMyAdmin
- Como desbloquear o limite de tentativas de login no WordPress
- Como desativar todos os plug-ins quando não for possível acessar o WP-Admin
- Como corrigir a tela branca da morte do WordPress (passo a passo)
- Como corrigir o erro crítico no WordPress (passo a passo)
- Como corrigir o problema de atualização e redirecionamento da página de login do WordPress
- Como corrigir o erro ao estabelecer uma conexão com o banco de dados no WordPress
- Como corrigir facilmente o erro This Site Can’t Be Reached no WordPress
Esperamos que este tutorial tenha ajudado você a aprender como adicionar um usuário administrador ao banco de dados do WordPress via MySQL. Talvez você também queira ver nosso guia definitivo de segurança do WordPress ou nossa lista de erros comuns do WordPress e como corrigi-los.
Se você gostou deste artigo, inscreva-se em nosso canal do YouTube para receber tutoriais em vídeo sobre o WordPress. Você também pode nos encontrar no Twitter e no Facebook.
Kris
I wanted to delete all spam emails registered in my site. I went to myPhpAdmin and deleted all including mine (without knowing). I searched the web ‘til I landed at this page.
Good Job! It worked!
Donato
Not sure where I went wrong but I get this when trying to login: You do not have sufficient permissions to access this page.
redhad
Hello Donato,
Change the “wp_” prefix of “wp_capabilities” and “wp_user_level” to whatever prefix you have set. Example, if you changed your wordpress prefix as “mysite_” then the insert command should be:
INSERT INTO `databasename`.`mysite_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, ‘4’, ‘mysite_capabilities’, ‘a:1:{s:13:”administrator”;s:1:”1″;}’);
INSERT INTO `databasename`.`mysite_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, ‘4’, ‘mysite_user_level’, ’10’);
Chetan Dhiman
Thanks a lot! It helped me a lot !!!
nishad
Really great help, I solved my admin access error. Thanks.
Rupert
Great post – quick not – wp_capabilities and wp_user_level need to match the prefix in the DB…
Lou Storiale
Thank you for this… very easy to follow! I never would have intuitively thought I would have to add two record in the same table. Thank you again.
Wordpress add admin record… I never thought I would have gotten this done in 5 minutes.
Allison Wong
Thank you! I love when things work! I went through the instructions as stated above and everything worked out. Just a tip – if you changed the prefix of your database tables from wp_ to something else, make sure to replace it in the code above.
Houston
Thanks, Dasha! You’re a life saver! Was stumped until I saw I needed to also change the DB prefix for ‘wp_capabilities’ and ‘wp_user_level’!
Casey Friday
This has helped me multiple times, when other developers send me sites to work on without making me an admin account. Thanks!
Ruben
Hi, thanks for the clear tips. It nearly worked – but had to change a:1:{s:13:”administrator”;s:1:”1″;} with a:1:{s:13:”administrator”;s:1:”1″;} – looks the same, just replace all the quotes (which are curly quotes) with normal quotes. Or don’t be lazy andwrite it instead of cut and paste. Otherwise the new user I created didn’t have admin access. Phew that was difficult,
Reena
omg.. what a life saver. Just a tip you need to update the wp_capabilities meta_key value to ‘a:1:{s:13:”administrator”;b:1;}’. And for some reason it still didn’t allow me to login. So then I just typed in the new username I created and clicked on forgot password. WP sent me a password reset link and all was well.
captain
how can i add multiple images into wp_usermeta.
Jamie
I was able to gain access with the original process but now my dashboard is blank. Any ideas on what I need to do? thanks
Nathan Swartz
As of today you also have to add another entry (and probably not the wp_user_level, not sure about that though), wp_capabilities with a value of a:1:{s:13:”administrator”;b:1;}
Erik
You’ve got a small bug. you’ll need to update the wp_capabilities meta_key value to ‘a:1:{s:13:”administrator”;b:1;}’ for this to work correctly, otherwise great article
Gabriel Luethje
Yep, I got locked out until I figured this one out.
Daniel Duckworth
Thanks Erik!
mitzi
Thank you! To both the original author and you for the fix. Saving my bacon right now…
Keenan Flogerzi
Agreed.
Might be a good idea to post those types of things using code formatting, instead of just regular text.
Dasha
Thank you for the tutorial – very useful. However, it would be handy if there was a note that ‘wp_capabilities’ and ‘wp_user_level’ use default database prefix, i.e. ‘wp_’. If a site uses a custom DB prefix that it should be used in those strings instead.
Houston
Thanks, Dasha! You saved me!
Juan
After finding your sollution i tweaked it a bit you can actually do everything in 2 queries without having to remember the id you create.
Both queries have to be executed in the same action (so the same SQL input box).
INSERT INTO `wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`)
VALUES
(NULL , ‘username’, MD5(‘password’), ‘User Name’, ‘email@domain.ext’, ”, NOW(), ”, ‘0’, ‘User Name’);
INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`)
VALUES
(NULL, LAST_INSERT_ID(), ‘wp_capabilities’, ‘a:1:{s:13:”administrator”;s:1:”1″;}’),
(NULL, LAST_INSERT_ID(), ‘wp_user_level’, ’10’);
Sara
This worked perfectly! Thanks Juan!
codeshark
This works perfectly and is so much easier than inserting everything manually. Juan, thank you and well done sir.
Jim
I followed the instructions but keep getting an “invalid username” error when trying to login.
I’ve created 3 different users but still continue getting this error.
AndreaCavallieri
I have the same problem. How can we solve?
Clare
So glad I found this. Worked like a dream once I got the correct brackets and the right code for the version of WP that was installed
ReeZh
It works! running this tuts saving my time. Thanks a lot Mr. Syed.
aleo monts
GREAT Thanks!
elad
thanks mate, worked like a charm.
Robin Jennings
Worked a treat. Nice and simple tutorial- much appreciated.
XYZ
Thank you very much…it worked.
Abdul Aziz
not working , i don’t no what mistake i have made…
it’s showing this error
“”” You do not have sufficient permissions to access this page. “”
Steve Della-Valentina
It seems like the latest version of WordPress has tweaked their meta keys and values to:
dqf_capabilities -> a:1:{s:13:”administrator”;b:1;}
dqf_user_level -> 10
I saw the insufficient permissions prompt before noticing this, then changing the keys and values fixed it!
Alvise
Hi tried but I always get the same warning : You don’t have permissions……
What can I do??
Thanks!
Andy
it’s the quotes. Curly quotes are not the same in your DB. Paste that line into your DB, then delete the quotes you pasted in and type new ones.
mbd
this is solution.. thanks
Ginette
Was ok one day and then the next – lost my admin access. Thanks for this – saved me a heap of frustration. Plus I’ve learnt some sql to boot!
Cheers!
Joe Hana
Thanks for this post. Just helped me to save some time. Works great.
Raspal
Hello,
I had a blog hosted at web host A and moved to another webhost recently. I don’t have the account with web host A any longer but have the full backup of the WP blog on my computer. I restored the backup to this new webhost B and the database as well. The blog is accessible fine. But I’m not able to login to wp-admin using any of the three admin user logins I have in the database. I checked the database from phymyadmin and all the three users are there fine.
I also tried to change passwords of these users. I get the link to change the password, but when I try to login to wp-admin using the new password, even then I get the same WP login screen without any error shown.
I also tried the method you gave above, to create a new user. I did as per all the steps and also tried what the commenters have suggested, but still I’m not able to login.
I tried deleting all the tables for this blog and then again imported the database. Doing this and trying to logging in just gives a message that the database needs to be updated before I can login. So, clicking the yes, I again get the login screen and the above process repeats – getting the same WP login screen with no error.
Note that I’m using the WP Better Security plugin and even tried deleting the plugin using FTP, but the same thing, still.
Can you tell me what can be done in this situation and where am I going wrong? Please help.
Thank you.
Kind Regards,
Raspal
WPBeginner Support
Please check your wp-config.php file make sure that it has your new database name, username, and host information. Delete .htaccess file from the root of your site. Rename plugins directory in your /wp-content/ folder. This will deactivate all your plugins. Lastly, in phpmyadmin go to wp_options table and look for homeurl and siteurl options make sure they are pointing to your domain name. Report back if none of these steps resolve your issue.
Administrador
Raspal
Thanks for the help. I re-checked everything you mentioned above and all those things were perfect. After 2 days of fiddling, it striked me that I hadn’t tried clearing Chrome’s cache and cookies, silly me! This simple thing solved the problems which wasted my two days’ time. Sorry to have wasted your and others’ time too who read this.
Anyway, everyone make sure to clear your cookies and cache every few days, Cookies and cache are responsible for really wierd problems. I don’t know about others but I like to keep my cookies for ages because they contain passwords to many (not-so-important but regular) sites I visit. And I take it for granted that cookies aren’t the culprit. Turned out to be wrong! Now, I have sent myself a reminder which tells me to clear the cookies and cache from all my browsers.
Thanks again for the help. At least the options you mentioned, I will surely remember if something like this happens again. And I also learnt how to use phpmyadmin to create and even edit WP users. And in the process, I saw a table called lockdowns. This is created by WP Better Security plugin and I now know that I can clear this table or change the values if I am locked out of the login screen for bad logins. Thanks Syed and editorial staff!
Kind Regards,
Raspal
Colin Steinmann
There is a very slight (but critical) typo in your tutorial:
a:1:{s:13:”administrator”;s:1:”1″;} <—-this is not correct by a single character
a:1:{s:13:"administrator";s:1:"1";} <—-this is correct, the final ″ should be a "
The two characters look almost exactly the same, but they are slightly different.
Julio
This was very helpful. I was getting a “not enough access” error. After this tweak, we’re all set.
Alex
Thank you very much! That was the solution to make this tutorial work nice!!!
Tiago
Nice, it works!
Just chanced the a:1:{s:13:”administrator”;b:1;} for the equivalent already listed in wp-capabilities and worked fine to me.
Lane
I’ve followed all these steps, but it doesn’t appear my new user I created has been given admin role. When I log in to Wordpress with the username and password I just created all I am able to see is the “Profiles” tab of the dashboard. Obviously I am missing a step along the way, but I have created two new users following this and it’s happened both time. Does anyone know what I may be doing wrong?
Haseeb Ahmad Ayazi
Can I use this Same Procedure for Multisite…????
Haseeb Ahmad Ayazi
Didn”t work… I am unable to login in my multisite network. Please Help me
Hope Corizzo
Wow. Many thanks! php always freaks me out, and I was able to follow this very well. I appreciate it.
Editorial Staff
Glad it worked out
Administrador
alan
This don’t work tried loads of times and still cannot log in.
(unmeta_id – leave this blank (it will be auto-generated)
user_id – this will be the id of the user you created in the previous step. Remember we picked 4.
meta_key – this should be wp_capabilities
meta_value – insert this: a:1:{s:13:”administrator”;s:1:”1″;}
Insert another row with the following information:
unmeta_id – leave this blank (it will be auto-generated)
user_id – this will be the id of the user you created in the previous step. Remember we picked 4.
meta_key – this should be wp_user_level
meta_value – 10 )
this part is where i think i am going wrong , i can see user created but it does not log in
Kristian Lander
a useful guide, to an issue i found of a hacker who deleted the admin alos. however upon inserting a new admin. i get the error message of INSERT command denied to user “database name” @hosting for table “wp_users”
any ideas?
Anthony
Thanks, this works a treat. I just copied your SQL and ping! I used MySQL Bench not phpmyadmin.
Oscar Rottink
Maybe a weird question, but I followed the steps and can’t login. Also watched for the brackets etc.
So I tried ‘forgot password’ and entered my e-mail which is also in the wp_users table. But it says no user is registered with that e-mail.
Anyone a clue what I missed?
Oscar Rottink
OMG sorry. My fault. I didn’t changed the base URL in the database so my local copy (and login) were pointing at the original site. Feeling stupid.
Adam
If you copied the code a:1:{s:13:”administrator”;b:1;} from this blog, it is possible that you got curly quotes instead of regular quotes, which will not work.
Gleb
Man, thanks! Easiest things get easily forgotten You saved me digging through the database for answers..
Jasper Frumau
Thanks for that tip. Now it does work fine and dandy.
Albert A. Ninyeh
There was a problem with the wp_capabilities valve you gave and the problem was with the quotes. the correct one is: wp_capabilities should be a:1:{s:13:”administrator”;s:1:”1″;}
Anyone who wants to solve this problem should copy it exactly as it appears.
George
I by accident logged in before adding the “usermeta” info. It of course read “You do not have sufficient permissions to access this page.” Even after I added the usermeta info I get the same thing.
Any thoughts on this?
Editorial Staff
Check to see if the prefix is the same as your main database prefix. We are assuming that the user is using the default wp_ prefix. If your database prefix is something else, then it wouldn’t work.
Administrador
Nat
I’ve tried everything and I still keep getting “You do not have sufficient permissions to access this page.” Any ideas on why this might be happening? Thanks.
David Abramson
I was getting the same error message and I think the problem comes from the check box in the second row that says “ignore”. It was checked by default for me and I got it to work once I unchecked that box.
JasonC
Thank you so much this finally allowed me to get into my site. I tried every possible option to reset the admin password but nothing would work. I created the new account and logged in as administrator and was then able to export my work. Thanks again!
Vic Dinovici
Hi, great article, thanks! Have a different issue though, my entire wp_users table got deleted and I don’t know how to create a wp_users table using phpMyAdmin. Can anyone help? Thanks!
Editorial Staff
Did you try repairing your database using the WordPress repair tool? Maybe that adds it back. Otherwise, you are better off reinstalling WordPress. For future, keep good backups.
Administrador
Vic Dinovici
using the repairing DB WordPress tool won’t create the wp_users table. What I did is deleting the unused tables from the old one, lowering it’s size and uploading it again. It worked. Thanks.
sibz
After attempting to log in it sais..
You do not have sufficient permissions to access this page
why did this happen?
Thanks
Editorial Staff
This happens if your user permissions level aren’t correct. Can you make sure that the permission level is the same as the other admin user in your phpMyAdmin
Administrador
Sibz
I have applied same user level as 10.
But still does not work
Can my developer have any access to my
Cpanel if she doesnt have my ftp or cpanel
Log in details?
I see in phpmyadmin she is listed as admin.
Its all so confusing especially when im new to all
Of this!
Chris Cox
Guide is out of date. The correct string for wp_capabilities is now:
a:1:{s:13:”administrator”;s:1:”1″;}
Editorial Staff
Updated the guide.
Aman Yadav
Thanks it worked perfectly for me
John
Thank you. You just saved my arse!!
nimbleswitch
I echo Ravi’s suggestion to copy the meta value from another admin. In my case “wp_capabilities” was actually databaseName-“_capabilities” and my admin level looked like this: a:2:{s:13:”administrator”;s:1:”1″;s:17:”gform_full_access”;s:1:”1″;}
Thanks for the great article. Saved my day.
Iryna
Copying of the wp_capabiblities-value from another admin helped me to. In my case the value was a:1:{s:13:”administrator”;s:1:”1″;}. Until this change I had recieved: “You do not have sufficient permissions to access this page.”
ravidreams
Thanks for the useful article.
a:1:{s:13:”administrator”;b:1;} didn’t work for me. I had to copy the meta value from another admin user and then it worked.
michoscopic
For those who encounter “You do not have sufficient permissions to access this page.”, replace “wp_capabilities” with your full wordpress table name, e.g. if your usermeta tables are called wp_yourtableusermeta (as opposed to wp_usermeta in this tutorial), then you need to use wp_yourtablecapabilities instead. Same goes for wp_user_level, change it to wp_yourtableuser_level. Hope this helps.
MohitBumb
You do not have sufficient permissions to access this page.
mr.minhkhang
In my opinion tampering with MySQL should not be on wp’beginner’, messing around with the database is simply not a beginner thing.
I don’t know when this was posted, but the time when WordPress used MD5 has long gone. This article should be updated to use wp_hash_password instead.
Tiago
One day you need to begin to mess around with not so beginner things.. lols
annedreshfield
Hi guys, Anne here, community manager intern at Livefyre. Welcome! Just wanted to drop in and say that everyone here loves this blog; it’s full to the brim with fantastic information. Can’t wait to read more!
blainesch
I was pretty sure the password was md5 but also using a salt stored in the config file it creates.
Kosta Welissariou
Hi,
I hope to get some help here. My blog was hacked with some base64 stuff. I can solve 99% of all the problems but I have 2 Admins in my wp Backend that need to be removed from mysql table before I can take other actions
Sorry, no clue how to track the adin in the table and remove them
WP latest
Access to the mysql database
tks
Kosta
Editorial Staff
Look in the wp_users table. Delete the users that you don’t want.
Administrador
phil
If it was salted, just follow the steps, add a real email and have it send you a password reset. Boom. hope that helped.