O aviso “Erro ao estabelecer uma conexão com o banco de dados” no WordPress é um erro fatal que torna seu site inacessível aos usuários. Isso acontece quando o WordPress não consegue se conectar ao banco de dados.
Como vários fatores podem afetar essa conexão, o erro pode ser um pouco difícil de solucionar para iniciantes.
Há 16 anos, administramos nosso blog no WordPress e encontramos vários erros e avisos, inclusive o “Erro ao estabelecer uma conexão com o banco de dados”. Com nossa experiência e muita tentativa e erro, aprendemos a solucionar esses problemas sem interromper nosso site.
Neste artigo, mostraremos como corrigir facilmente o “Erro ao estabelecer uma conexão com o banco de dados” em seu site WordPress, passo a passo.
Qual é a causa do erro ao estabelecer uma conexão com o banco de dados no WordPress?
Um banco de dados é um software que facilita o armazenamento, a organização e a recuperação de dados de outro software.
Como um sistema de gerenciamento de conteúdo, o WordPress usa um banco de dados para armazenar todo o seu conteúdo e outros dados do site. Em seguida, ele se conecta ao banco de dados sempre que alguém visita seu site.
O WordPress precisa das seguintes informações para se conectar ao banco de dados:
- Seu nome de banco de dados
- Nome de usuário e senha do banco de dados
- Servidor de banco de dados
Essas informações são armazenadas em seu arquivo de configuração do WordPress, chamado wp-config.php.
Se alguma dessas informações estiver incorreta, o WordPress não conseguirá se conectar ao seu servidor de banco de dados e você verá o erro “Error establishing a database connection” (Erro ao estabelecer uma conexão com o banco de dados).
Esse é um dos erros mais comuns do WordPress. Além das credenciais incorretas, esse erro também pode aparecer se o servidor do banco de dados estiver inativo ou se os arquivos do banco de dados estiverem corrompidos.
Dito isso, vamos dar uma olhada em como corrigir o problema “Erro ao estabelecer conexão com o banco de dados” no WordPress com uma solução de problemas passo a passo.
1. Verifique as credenciais do banco de dados do WordPress
Credenciais incorretas são a causa mais comum do erro de conexão com o banco de dados. Se você mudou recentemente seu site do WordPress para um novo host, provavelmente esse é o problema.
Suas credenciais de banco de dados do WordPress são armazenadas no arquivo wp-config.php. Esse é o arquivo de configuração do WordPress que contém configurações importantes, inclusive informações sobre o banco de dados.
Se você nunca editou um arquivo wp-config.php antes, dê uma olhada no nosso guia para iniciantes sobre como editar o arquivo wp-config.php para obter mais instruções.
Você procurará as seguintes linhas no arquivo wp-config.php:
// ** 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' );
Aqui, você deve se certificar de que as informações sobre o nome do banco de dados, o nome de usuário, a senha e o host do banco de dados estejam corretas.
Você pode confirmar essas informações no painel da sua conta de hospedagem do WordPress. Para este tutorial, usaremos o Bluehost, mas o processo também será semelhante para outros painéis de hospedagem.
Ao fazer login, clique na guia “Website” na coluna da esquerda e, em seguida, mude para a guia “Advanced” (Avançado). Em seguida, role para baixo até a seção “Database” (Banco de dados) e clique no botão “Manage” (Gerenciar) ao lado dela.
Isso abrirá a página Bancos de dados MySQL no cPanel em uma nova janela.
Aqui, você pode encontrar o nome do banco de dados e o nome de usuário na seção “Current Database” (Banco de dados atual). Não se esqueça de copiar e colar esses detalhes em um bloco de notas para poder adicioná-los ao arquivo wp-config.
Em seguida, role para baixo até a seção “Current Users” (Usuários atuais), onde você pode clicar no link “Change Password” (Alterar senha) ao lado do nome do seu banco de dados.
Isso o levará a uma nova tela, na qual você poderá alterar a senha do banco de dados de acordo com sua preferência.
Depois de confirmar todos os detalhes do banco de dados, você poderá alterar essas informações no arquivo wp-config.php, se necessário.
Depois disso, tente visitar seu site novamente para ver se o erro de conexão com o banco de dados desapareceu.
Se você ainda puder ver o erro, isso significa que algo mais está errado.
2. Verifique as informações do host do banco de dados
Se tiver certeza de que as informações de nome do banco de dados, nome de usuário e senha estão corretas, certifique-se de que está usando as informações corretas do host do banco de dados.
A maioria das empresas de hospedagem WordPress usa o localhost como seu host de banco de dados. No entanto, algumas empresas de hospedagem gerenciada do WordPress usam servidores separados para hospedar bancos de dados. Nesse caso, as informações do host do banco de dados não serão localhost.
Isso significa que você precisará entrar em contato com a empresa de hospedagem do WordPress para confirmar esses detalhes.
3. Reparar o banco de dados do WordPress
Agora, você pode estar recebendo um erro diferente no painel wp-admin, como “Uma ou mais tabelas de banco de dados não estão disponíveis” ou “O banco de dados pode precisar ser reparado”. Nesse caso, você precisa reparar seu banco de dados.
Você pode fazer isso adicionando a seguinte linha no arquivo wp-config.php. Certifique-se de adicioná-la logo antes da linha “That’s all, stop editing! Happy blogging”:
define('WP_ALLOW_REPAIR', true);
Depois de fazer isso, você poderá ver as configurações visitando esta página: http://www.yoursite.com/wp-admin/maint/repair.php. Apenas certifique-se de substituir yoursite.com por seu próprio nome de domínio.
Aqui, você deve clicar no botão “Repair Database” (Reparar banco de dados) para iniciar o processo.
Observação: o usuário não precisa estar conectado para acessar a página de reparo do banco de dados. Quando terminar de reparar e otimizar o banco de dados, remova essa linha de código do wp-config.php.
No entanto, se não quiser adicionar nenhum código ao site, você também poderá reparar o banco de dados usando o cPanel da sua conta de hospedagem.
Vá em frente e visite sua conta de hospedagem, onde você deve abrir a página “Websites” na coluna da esquerda. Em seguida, vá para a guia “Advanced” (Avançado) e clique no botão “Manage” (Gerenciar) na seção Database (Banco de dados).
Isso abrirá o cPanel em uma nova guia. Aqui, role para baixo até a seção “Modify Databases” (Modificar bancos de dados) e escolha o nome do seu banco de dados no menu suspenso “Repair Database” (Reparar banco de dados).
Depois de fazer isso, basta clicar no botão “Repair Database” (Reparar banco de dados) para iniciar o processo.
O painel de hospedagem agora reparará automaticamente o banco de dados para você.
Quando o processo for concluído, você também verá uma mensagem de sucesso.
Agora você pode visitar seu site do WordPress para ver se o erro foi resolvido ou não.
4. Verificar se o servidor de banco de dados está inativo
Se tudo parecer estar correto e o WordPress ainda não conseguir se conectar ao banco de dados, o servidor do banco de dados(servidor MySQL) pode estar inativo.
Isso pode ocorrer devido ao tráfego intenso em um servidor. Seu servidor host simplesmente não consegue lidar com a carga (especialmente quando você está em uma hospedagem compartilhada).
Devido a isso, seu site ficará lento e poderá até mesmo gerar um erro para alguns usuários. Nesse caso, você deve entrar em contato com o provedor de hospedagem por telefone ou chat ao vivo e perguntar se o servidor MySQL é responsivo.
Além disso, se você tiver outros sites em execução no mesmo servidor, poderá verificar esses sites para confirmar se o servidor SQL está inativo.
Se você não tiver nenhum outro site na mesma conta de hospedagem, basta acessar o painel de controle de hospedagem e alternar para a guia “Avançado”.
Depois disso, clique no botão “Manage” (Gerenciar) ao lado da seção phpMyAdmin.
Isso abrirá o phpMyAdmin em uma nova janela, na qual você deverá clicar na opção “Database” (Banco de dados) na parte superior.
Depois disso, clique no nome do banco de dados para acessar suas configurações. Se conseguir fazer isso, então é hora de verificar se o usuário do banco de dados tem permissões suficientes.
Para fazer isso, você precisa criar um novo arquivo chamado testconnection.php e colar o seguinte código nele:
<?php
$link = mysqli_connect('localhost', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>
Ao colar o código, certifique-se de substituir o nome de usuário e a senha pelos seus próprios. Agora você pode carregar esse arquivo no seu site e acessá-lo por meio de um navegador da Web.
Se o script for conectado com êxito, isso significa que o usuário tem permissões suficientes e que outra coisa está causando o erro.
Agora, você deve voltar ao seu arquivo wp-config e verificá-lo para garantir que todos os detalhes estejam corretos e sem erros de digitação.
Soluções adicionais que funcionaram para os usuários
Se as dicas de solução de problemas mencionadas acima não conseguirem corrigir o erro de conexão com o banco de dados em seu site, você poderá tentar estas etapas adicionais.
Conforme relatado por nossos usuários, essas etapas ajudaram alguns deles a resolver o erro de conexão com o banco de dados em seus sites.
1. Atualize o URL do site WordPress
Você pode tentar atualizar o URL do site do WordPress usando o phpMyAdmin no cPanel.
Basta acessar o phpMyAdmin no painel da sua conta de hospedagem e selecionar o banco de dados do WordPress na lista.
Depois disso, mude para o menu SQL na parte superior e digite a seguinte consulta MySQL:
UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'
Ele deve ter a seguinte aparência:
Não se esqueça de fornecer o URL do seu próprio site e alterar wp_options
para o nome da sua própria tabela, pois você pode ter alterado o prefixo da tabela do WordPress.
2. Reinicialização do servidor da Web
Os usuários de servidores dedicados, servidores locais e servidores virtuais privados (VPS) podem tentar reiniciar seus servidores.
Isso reiniciará seu servidor da Web e de banco de dados, o que pode corrigir algumas falhas temporárias que estão causando o erro.
3. Pedir ajuda
Se tudo o mais falhar, talvez seja necessário entrar em contato com a empresa de hospedagem na Web. Todas as boas empresas de hospedagem WordPress o ajudarão a solucionar o problema, indicarão a direção certa ou até mesmo o resolverão para você.
Você também pode contratar desenvolvedores do WordPress usando uma plataforma como o WPBeginner Pro Services para ajudá-lo a corrigir esse problema por preços razoáveis. Temos uma equipe dedicada de desenvolvedores especializados em quem você pode confiar para resolver qualquer problema do WordPress.
Você também pode usar o serviço para manutenção de sites, reparo de sites invadidos, otimização de velocidade, reconstrução de sites e otimização de SEO.
Esperamos que este artigo tenha ajudado a corrigir o problema “Erro ao estabelecer uma conexão com o banco de dados” no WordPress. Talvez você também queira consultar nosso guia de solução de problemas do WordPress para obter dicas sobre como resolver problemas do WordPress por conta própria ou nosso tutorial sobre como adicionar uma página de erro de banco de dados personalizada no WordPress.
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.
Barry
Under CentOS 7, I saw: Could not connect: Can’t connect to MySQL server on ‘xyz’ (13)
The problem was due to SE Linux, as documented at
The problem was corrected using the command:
sudo setsebool -P httpd_can_network_connect_db=1
neneh
Thanks, very helpful
Alberto
After installing and setting up Mamp and a fresh Wordpress on a friends machine, had the dreaded blank page and “error establishing a connection” in the logs as well.
After pulling my hair for a while, I noticed that the quotation marks in the wp-config.php file had been changed from straight ones ‘ to curvy ones ’ in the few settings one has to edit, and this was causing the errors, the culprit?
-> TextEdit <- I had used it to make those changes. In it's preferences, the "clever quote marks" setting should be turned off if you want to have those quotation marks remain as they should be.
ka
Thanks Alberto. Textedit has automatically overwritten the straight quotation marks with curly ones. replacing them with straight ones and saving the php file again did the trick.
Bastien
This error can also be triggered because of a DOS XMLRPC attack :
Jesus
How can I fix it?
Tejas Waghmode
HI
I’m confuse, how to solve the problem?
Zoe
Hello, I’m new to wordpress and need some more help.
My wp-admin page shows the “One or more database tables are unavailable. The database may need to be repaired” message…. so I know I need to add that bit of code. But how and where do I add it? I can’t login… I do not know what address to type in to access this php file. Help please
My website is
Pavanswin
I am a wp beginner, you guys are awesome, helped me building my careers through this kind of articles. I migrated my website to and struggled with the error for many days and finally found a solution in the article and is very helpful. thank you all
Julio Sanchez
The original name of the file wp-config is wp-config-sample, I just wrote the original name and vuala no “Error establishing a database connection” message.
WPBeginner Support
wp-config-sample.php file is a sample file not the actual configuration file. The actual configuration file is wp-config.php.
Administrador
Sruly
I have WordPress with Digital Ocean. I just restarted my server and that fixed the issue.
Rudy
Thanks, really thanks
Nicholas
If all fails, also try a swap file:
Brendan
“replacing localhost with the IP”
This worked! Thank you so much for saving my ass
Guy Pribyl
Is there a way to have wordpress when posting this error message do a redirect to a non-wordpress page? I JUST WANT A BACK UP FOR WHEN THIS HAPPENS IN THE MIDDLE OF THE NIGHT.
Thanks for your help
Avioconsys
Thanks Syed Balkhi and his team. It took me 5 minutes to solve the issue with this error. It was a bad update of the password for the general user.
Fast and working. Very nice of you sharing this information.
M.
Suhel
i am getting the different error but its something some like this,
wpsa_options: Table ‘aamtechn_wp949.wpsa_options’ doesn’t exist
wpsa_postmeta: Table ‘aamtechn_wp949.wpsa_postmeta’ doesn’t exist
i am getting this message and i am not able to access the dashboard.please help me soon.
Donal
That looks like your data base is corrupted.
Log in to your phpMyAdmin through your cpanel and repair them. Here’s a link to a tutorial…
How to optimize your WordPress database with one click.
Camaal Mustafa Sikander
Thank you so much, this one fixed the Database error for me in the first step itself.
Best wishes,
Camaal
Dudley Rees
Thank you for your help. The username and password part of wp-config.php fixed it for me.
Robert Varga
I had this problem, and I spent 2 much hours on fixing it … Finally I solve that mistery. My problem was in htacces file, it only had Rewrite Engine line , I just c/p this “default” htaccess content in it and replace it with file on server, and tadaam it work now
“default” htaccess content :
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPres
Daniel M
how do i solve depreciation errors for db connection using either PDO or MYSQLi? please help
prince vashisht
I changed the username (wp_users) from phpmyadmin and now I am getting the same issue.Reverting the changes is also not helping me out.Please help.
Wayne
When I first experienced this error I was so devastated and I wonder how will I resolve this issue. I did some research and noticed that my database name was the problem. So I went into MYSQL and change the database name. This article explains it all
Kevin Wells
For whatever reason, I ended up having to recreate my MySQL user in the database. After I did that, my website functioned normally again.
Maja
Change of user also helped me after hours of debbuging
Christine F
Thanks so much for this!
I encountered the same issue earlier. I changed the database password and then this error appeared. We have GoDaddy so what I did was just go to the File Manager, open the WP-Config.php and changed the (‘DB_PASSWORD’, ‘database-password’); to the one I recently used. Real simple but wouldn’t have done it without this article.
Thanks again!
Matthew
Thank you for this reply, Christine. I, too, changed the password and found that to fix the issue as well. Perhaps MySQL had reset it without notifying me.
Dutch
Thanks for this tip! Don’t know how you figured this out from the article. Was about to reload everything..and tried this just in case and it worked. Also on Godaddy, used Installatron to start the installation and uploaded the rest manually.
Alexander
In my case I solved the problem just updating the password of the DB.
It seems the password was to weak.
ciao
Alexander
sonu arora
hey i m facing a weird issue with my website, i.e. when i try to check in pingdom then the screenshot generated there shows me data connection error, while when i am opening my website in normal tab or iphone, it gets open. could you please suggest me what to do? i am worried whether my website is showing to public or not. url is thanks in advance!
WPBeginner Support
Try changing server locations in Pingdom test settings. Also try other tools like Google Page Speed tool.
Administrador
Angel
You say to put this in your wp-config.php file….. define(‘WP_ALLOW_REPAIR’, true);
you don’t say a single word as to where to put it. I dropped it in right at the top and got a HUGE WP error message. You had it on line 1 without anything to indicate context of where to put it. So most would assume it would go on line 1 at the top. If it doesn’t go there, why not give helpful and specific instructions?
WPBeginner Support
You need to add this just before this line:
/* That's all, stop editing! Happy blogging. */
Thanks for bringing this to our attention. We have updated the article.
Administrador
Nica
when i try this:
I get an error:
Could not connect: Lost connection to MySQL server at ‘reading initial communication packet’, system error: 95 “Operation not supported”
When i test this to php:
It shows:
This site can’t be reached
The connection was reset.
ERR_CONNECTION_RESET
samchief
Problem resolved. DB_host was the problem on ipage, it’s quite different from others
RINKU MEHAR
how could i solve this errors:
Warning: require_once(C:\xampp\xampp\htdocs\wordpress\wp-admin\admin.php): failed to open stream: No such file or directory in C:\xampp\xampp\htdocs\wordpress\wp-admin\index.php on line 10
Fatal error: require_once(): Failed opening required ‘C:\xampp\xampp\htdocs\wordpress\wp-admin\admin.php’ (include_path=’.;C:\xampp\xampp\php\PEAR’) in C:\xampp\xampp\htdocs\wordpress\wp-admin\index.php on line 10
FranciscoMary Aghogho
Please I need an assistance here. I tried changing my site’s url from http to https and now cannot view my site. It say a coonection could not be established. Please what could I do in this instance. Thanks.
sourcebreak
Issue
If you update from php 5.2 to 5.4 or 5.5 then you will get this error database connection error in wp.
Cause
If your password is Pre mysql 4.0 then you will get this error
Fix
Login to phpmyadmin >> user >> change password
type your mysql password >> select >> MySQL 4.1+ compatible and go
Kanif
I was also facing this issue. I googled it and come to this post. It is really awesome, deep thinking on what all problems may come with this error.
Mine problem is resolved by doing database repair and optimization.
Thanks buddy,
Kanif
ScienceMan
Thanks for the great post. My situation was interesting, I migrated my server to another account with the same provider. The result was the dreaded “Error Establishing a Database Connection”. Thanks to this article, I knew to have a look at the wp-config.php file.
When I logged into my new server cPanel and checked the MySQL databases, I immediately spotted the problem. Due to the server migration, the name of the database and user had changed. The databases names at my provider all default to “accountname_databasename”. Also, the database username defaults to “accountname_username”. I suspect other servers are similar.
Since my server account name changed with the server migration, so did the name of all my databases and database usernames.
So to fix it, all I did was change these two lines in the wp-config,php file:
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘XXXXXX_databasename’);
/** MySQL database username */
define(‘DB_USER’, ‘XXXXXX_username’);
Basically, you want to check carefully to make sure the “XXXXXX” in the wp-config.php file matches what’s at your server.
Thanks again!
igwe simon
I mistakenly changed my site and wordpress url to one of my domain so i had to go and change the dns and park it on the website, so i waited for some hours but the domain was still propagating then i read a tutorial (codex.wordpress.org/Changing_The_Site_URL) and followed an option there by editing my functions.php and the next thing i saw was “One or more database tables are unavailable. The database may need to be repaired.”, so i followed the instructions here and still the problem is still active. I need an assistance please.
hafsa munir
I have following error in my xammp server,how can i resolve it
he following error was encountered while trying to retrieve the URL: localhost/phpmyadmin/
Unable to determine IP address from host name .localhost
The DNS server returned:
Name Error: The domain name does not exist.
This means that the system was not able to resolve the hostname presented in the URL. Check if the address is correct.
WPBeginner Support
Try accessing without www
Administrador
val girich
I am seeking free videos on how to use W.P. once it is set up ready to edit, ad docs and so on.
WPBeginner Support
Please see our free WordPress videos or subscribe to our YouTube Channel.
Administrador
S
hai
i done everything as you mentioned in the post but when i opened wp-admin/ then again this error was coming “One or more database tables are unavailable. The database may need to be repaired.”
So plz help me what to do
Manny
Thanks!
I just logged in through FileZilla and checked out the wp-config.php file and double checked everything and realized that I updated my database password but it still showed the previous default password on wp-config.php. So after changing it in the file and saving the changes I was able to access my site again. Your help allowed me to solve my problem, thank you!
WPBeginner Support
Glad you found it helpful.
Administrador
Jeremy Smith
One very important that’s been left out in this post is the “turn it off and turn it back on again” approach.
If you haven’t actually changed the wp-config file I don’t think you should be going in and fiddling around with it, at least not in the first instance.
What you should do first is attempt to restart the mysql server.
To do this (In Terminal)
1. SSH into your website (you will need your key ‘.pem’ file)*
2. To restart your mysql type “sudo service mysqld restart”
This has worked every-time for me.
*On a Mac
1. Get your ‘.pem’ file. I got mine from Amazon Web services (hosting the site)
2. Enable SSH on your Mac – Google it
3. Open Terminal
4. Change directory to where you have stored your ‘.pem’ file. -It’s probably easiest to save this on your desktop, then you can just type ‘cd Desktop’ and it should take you there.
5. Type ‘chmod 400 yourpemfilename.pem (allows you to use this key to get in)
6. Type ‘ssh -i “yourpemfile.pem” remote_username@remote_host – type the speech marks here
7. Once logged in (You may have to type y a few times to get you in) type
sudo service mysqld restart
Jcirni
Restarting works but why does this error keep happening? Happens once a week.
Malkesh
Hi, my wordpress site gets this error very often,
we are using AWS, so i need to run this command to restart mysql :
sudo restart mysqld restart
the same issue i have also on digital ocean too..
so i am sure not this is not an server issue, it’s should be some thing in wordpress, that’s put down mysql server..
Thanks
dino
Same problem here. At least two times per day my site , which is in digital ocean , loose sql connection.
I have try to optimize my database, bvut nothing works. Any idea?
Glenn
Thanks,
When WordPress dies it is scary for a WordPress newbie. I found your solution easy to understand, implement and worked a treat.
Faiza
Hi,
This blog was very helpful but I still haven’t been able to figure out this problem. My WP-Config.php file shows me this localhost:
I am using GoDaddy, I have tried replacing this with local host, my IP address, and (godaddy). Nothing has worked Can I get some help here?
WPBeginner Support
Please contact godaddy support.
Administrador
Claire
would the problem be that my domains dns settings haven’t updated yet?
Anupam
Updating the WP-Config file works for me. Thanks a lot.
Brandon
WOW!!!! Came across this site because my wife’s business site went down and I was able to fix it in minutes! Thank you!
Cidina
Thank you soooo much. This post saved my 6-month large project in Wordpress. Trying to switch directories I lost connection to the database. I’m not a .php programmer but the topic is so well explained here that it took me five minutes to fix it after finding this blog. Your are awesome!!!
WPBeginner Support
Thanks for the kind words.
Administrador
Nino F
If you changed your password in phpmyadmin, you have to change it in your wp-config.php aswell, if you don’t do that the website doesn’t work. You have to link the two with eachother.
Eddie O'Hagan
I was getting this error I think because of the theme I had, I changed the theme and I haven’t gotten the error since, I noticed this because when I ran the repair, the comments tables were the ones that had the errors.
dino
how often did you have this problem?
I have the same , and i loose connection at least twice per day.
I tried many things but nothin works. If it is the theme i will try it..
samuel nmeje
this was indeed helpful. thanks a lot.
Ram
if you use xampp for wordpress offline then the error is removed by following process:
open in Xampp folder “\xampp\phpMyAdmin\config.inc.php” and then check username and password
set the same password to wp-config then the error is not appear
Micah
This is very helpful. Thank you very much!