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.
Edmundo Rubio
Thanks it work.
viraj
Thank you, it worked for me while connecting database from phpmyadmin.
Tom
I’m trying to install wordpress on my local pc running window 10. I have installed Xampp, made all the changes to use port 8080. No problem starting Xampp. No problem starting Apache or Mysql. I can open phpmyadmin from the admin button without problem and was able to add a database. if I enter http://localhost:8080 it brings up the Xampp page. However when I enter http://localhost:8080/wp to install wordpress the web page times out, but does nothing. I extracted the wordpress files into the htdocs folder and made the changes to the wp-config.php file to use localhost:8080.
At this point I have no other idea what to do to get the install done and could really use some help.
WPBeginner Support
Hi Tom,
You will need to copy paste WordPress files in /htdocs/wp/ folder instead of /htdocs/ folder.
Administrador
Sandy
Thank you! worked!
Jude
Unable to install word press on godaddy. Won’t even complete the installation. “Application has Errors”. – Need it urgently!! Please help
Shubham Tiwari
Hello WPBeginner,
I am currently running Viral Website. Many viral websites have some plugins. I am attaching link of the screenshot Here
In viral website niche, we need to see how many real time users are there on a particular story because, to see the viralness of new stories we need to see the real time users for a post. We use Google Analytics but Data Mining is too hard in google analytics to see if our story is going viral or not. By looking at the real time users for a particular story, we make conclusions that which of our story is going viral on social media.
Can you please provide me details? How can i show my Live story readers on the story/article page. I want my users to see how many live users are reading this particular story.
Is there any script code or any plugin for this type of feature?
Richard
Brilliant, this guided towards me getting this fixed!! Also had to change upload a new wp-settings.php file.
Thanks
Destiny
To allow use of this page to automatically repair database problems, please add the following line to your wp-config.php file. Once this line is added to your config, reload this page.
define(‘WP_ALLOW_REPAIR’, true);
Ben Horle
Massive thank you! 1st task fixed my site!
WPBeginner Support
Hi Ben,
Glad you found it helpful You may also want to subscribe to our YouTube Channel for WordPress video tutorials.
Administrador
Denis
Thanks!!! Thanks to you my site work again!
Happy
Mike
Had this error trying to install WP at home for testing on Windows laptop. Tried everything and then noticed that my character set in the wp-config.php file where i defined the parameters for accessing the database contained characters that were not standard. The apostrophe character was not the standard windows font character. Once i replaced and made them all the same character WP installed without issue.
Nirav Jagad
please someone connect my computer with teamwork and resolve my problem
Error establishing a database connection
Bas Dost
I have the same problem.
Let me know if you have any suggestions.
Thanks.
ivano
Worked for me by replacing “localhost” withe the IP you provided. Thank you!
miranda
i dont get it
Michael
[SOLVED] My databases were all working fine – turns out the problem was the password itself. The password contained three symbols &(= which I guess was messing with PHP. I’m not the best in PHP but I suspect the problem was with the symbol “=”. So once I changed the password, it worked just fine. Good luck, hope this helps.
Wills Perkins
Thanks guys, you’ve saved me from having a melt down
Editorial Staff
You’re welcome
Administrador
murad
Thanks. Solved my problem.
irnem
What exactly helped? I checked everything – still doesn’t work. In the section “Check your Web Host (MySQL Server)” they are talking about testconnection.php file, what should I do after I created it and put on WP dir? how can i run this code? (sorry, i’m a beginner in this area)
Ash
What also can be really handy! Especially if you use Wordpress on IIS6/7/8 on Windows Server.. Check if the MySQL service is running.. And also if it is running on the correct user account! Normally this should be just the Local System!
Gwyneth Llewelyn
Even those who are not exactly absolute beginners to WordPress get often stumped by this error! Thanks to your systematic approach, I managed to track down the ‘error’ in my installation — a corrupt MySQL database, which was anything but apparent, since all tables seem to be in the right place, and checking/optimizing them would give no errors… but clearly there was something very, very wrong.
Dumping the database and re-importing it from a backup did the trick!
Thank you so much
Jeff
Thank you so much for writing this and all of the comments. My site was fixed by replacing the line
/** MySQL database password */
define(‘DB_PASSWORD’, ‘[some random numbers and letters]’);
with
/** MySQL database password */
define(‘DB_PASSWORD’, [my usual wp-admin login password]’);
Not sure if this is correct way to fix it but it did work.
Brett
I went back into my cpanel and re-inputted the same passwords for my 2 of 4 sites that weren’t working and that got them back up and running.
STANISLAUS
I am glad I was able to fix this issue on my site after 4 days. In my own case it said the wp-option table crashed. And I ran the repair, the result showed it was not successful but in actual sense, it was repaired.
After I got that unsuccessful repair message, I initiated a like chat with my service provider but they checked the site and informed me that that my site was alive and I was happy.
Thanks
Jigar Shah
I did tried all the above solution . But nothing worked out for me .
Then I tried looking @apache logs . It was brute force attacks against xmlrpc.php from crashing my WordPress server.
The simple solution that worked for me was to block the IP’s
I found out here
rahul
My wordpress website is running but after some time it shows an error “Establishing database error” then i have to start “service mysqld start” please help me so that this type of error not come again. thanks
Kristaps
Thanks, i tried some things, but in the end, i found out, that my config file, generated random password, when i actually changed it to specific password.
Jill
This was so helpful. This along with people’s comments/experiences would be quite a handy resource or guide. I’ve noticed a few job posts for WordPress error testers and started researching and found this page.
Lothre1
Hello guys. Just because this is the first page of google on this subject I’m complementing the information. In my case i downloaded my wp-config from my prod website. At the end of the file right after “define(‘WP_DEBUG’, false);” i had the following configuration.
define( ‘WP_ALLOW_MULTISITE’, true );
define(‘MULTISITE’, true);
define(‘SUBDOMAIN_INSTALL’, false);
define(‘DOMAIN_CURRENT_SITE’, ‘MYDOMAIN.com’);
define(‘PATH_CURRENT_SITE’, ‘/’);
define(‘SITE_ID_CURRENT_SITE’, 1);
define(‘BLOG_ID_CURRENT_SITE’, 1);
I tried to keep everything as it was but I replaced the mydomain.com with my ip + port.
An hour later I realize that commenting the lines below fixed the problem:
//define(‘MULTISITE’, true);
//define(‘SUBDOMAIN_INSTALL’, false);
//define(‘DOMAIN_CURRENT_SITE’, ‘MYDOMAIN.com’);
Karina Jaramillo
I tried logging in to maintain site but I get this error “Error establishing a database connection”. I also get that error when trying to access wp-admin. Nothing has been changed on our end. Help!
Shirley
Help!
We get an error message on our wordpress for “Error establishing a database connection:
This either means that the username and password information in your wp-config.php file is incorrect or we can’t contact the database server at localhost. This could mean your host’s database server is down.
Are you sure you have the correct username and password?
Are you sure that you have typed the correct hostname?
Are you sure that the database server is running?
We’re puzzled how this happened. If you can help, that would be great. Thank you.
jabr
Thanks a lot. you really helped me get my website back to work
SAMUEL
Please, am having problems operating my wordpress dashboard. I have been updating my website through my dashboard for some days now. But just yesterday i began to receive this message…… Fatal error: Cannot call overloaded function for non-object in /home/content/n3pnexwpnas01_data02/34/3566434/html/wp-includes/capabilities.php on line 448……..can anyone tell me what to do or what was the cause of this plssssss.
Sam.
WPBeginner Support
Most likely this issue is caused by a WordPress plugin. Try these WordPress troubleshooting tips to find out the culprit.
It is also possible that the error is caused due to incompatibility with the PHP version. Ask your WordPress hosting provider about the PHP version they are using and see if they can upgrade it. The minimum requirement is PHP version is 5.6 or greater for WordPress.
Administrador
SAMUEL
thanks a lot, i only change the theme and that fix it, i so much appreciate.
WPBeginner Support
Hey Samuel, we are glad you found it helpful Don’t forget to join us on Twitter for more WordPress tips and tutorials.
Elijah
I’m also having the same problem but mine is so terrible because I can’t access my cpanel. Please what should I do?
James R
After looking at this page and thinking “I have no idea what I’m doing”, I just rebooted the server and now everything’s hunky-dory again. Any idea why that was the case?
The only thing I can think of that may have caused it is that I lost my internet connection whilst logging in, but why should it?
Davo C
THANK YOU VERY VERY MUCH. Had a corrupt db user, would have had no clue without this article.
Life saver.
Davo
Sat
When I cloned my MySQL database for setting up a staging site I received the same error. I found out that the MySQL user setup for the WP to access the database needs to be given permission to access the database through the CPanel -> Mysql databases -> add a user to the database option. Otherwise, you will get “Error Establishing a Database Connection” issue when trying to access the admin page through the URL.
Anoop Arya
Error establishing database connection .
I did not work after trying few steps. I thought let’s wipe out all the information. S o reset MySQL deta base . Uploaded new WordPress. Now still it days error establishing database connection .any help and suggestions
Ademide
The second fix worked.
Thank you so much.
Karen
This worked for me, thanks. I moved a five domain multisite with very little trouble. The only tweak was to the table_prefix of the database tables. For some reason mine weren’t prefixed with wpcc- . This was easily edited in wp-config.php. After that I had to do some wrangling with tech support to point the subdomains at the directory where wp was installed. They couldn’t understand why I’d want all of them pointing at the same place. Once they had given in and done as I asked it all worked fine.
Manohar
Thank you for providing this useful informatrion
Emmanuel
Thanks a whole bunch, You really saved my day
WPBeginner Support
You are welcome, don’t forget to follow us on Twitter to get more WordPress tips and tricks.
Administrador
Jeroen Thans
I had the same problem,
i also got after a restore from backup an error: Error establishing a database connection
i checked the database with phpmyadmin under the database for wordpress and then wp_options. And there was no sign of something called siteurl
So i pressed insert -> option_id = 1
Option_name = siteurl
Option_value = http://www.example.com
and added it. Then went back to the website http://www.example.com/wp-admin and i could restore it
hopefully it helps.
Greetz J
JCMill
*Update to my earlier comment*
I tried generating & applying new passwords via cPanel. On 3rd pw change I still got the can’t load the DB error but it allowed me to run the WP Repair.php !
Everything showed as OK.
Now the site is back.
Highly irritating & weird.
WPBeginner Support
Glad you found a solution on your own.
Administrador
JCMill
I just started seeing this error. None of the above works
Also tried renaming the DB, & running the ‘check’ & ‘repair’ options in cPanel = ‘OK’ on all elements.
I can access & edit the DB via phpmyadmin.
wpconfig is byte for byte identical to my original (then working) backup.
The testconnection.php has revealed this –
‘Could not connect: Connection using old (pre-4.1.1) authentication protocol refused (client option ‘secure_auth’ enabled)’
Any ideas appreciated.
Bim
I seem to encounter the error on all other the pages except the main page. The main page loads fine but when i click a link to open another page that’s when I get the database connection error.
Has anyone encountered this? Aren’t all the pages including the main page use the same database connection?
WPBeginner Support
May be you are seeing a cached version of your main page? If not, then contact your web hosting service provider.
Administrador
sohanpurohit
Error 404 error403 same prob,how do repairinp this prob?
djack
it works inmediately after put the ip i’m receiving from the router 192.168.5.8 in my particular case.
localhost, 127.0.0.1 weren’t working.
David Draper
I copied a PHP script I found online called testconnection.php. The script captures and echos the connection error. I ran the script from the command line using ‘php -f testconnection.php’. The error told me that there was a problem reading the mysql.sock file. When I checked the indicated location, there was no mysql.sock file. I created an empty file called mysql.sock in the indicated location using touch and ‘Voila!’ everything has worked fine since.
SriMarv
I had the same problem on my site too, i only changed the line for DN Host to
define(‘DB_HOST’, ‘localhost’);
in the config file, it was pointing to an IP address which happened to be the one for the cpanel.
sudheer
Please fix my issue. I am trying to restore a database backup from mysql server, But restore fails the following error32 will persists.
TITLE: Microsoft SQL Server Management Studio
——————————
Restore of database ‘PROD_SALES_DATABASE’ failed. (Microsoft.SqlServer.Management.RelationalEngineTasks)
——————————
ADDITIONAL INFORMATION:
System.Data.SqlClient.SqlError: The operating system returned the error ’32(The process cannot access the file because it is being used by another process.)’ while attempting ‘RestoreContainer::ValidateTargetForCreation’ on ‘C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\PROD_SALES_DATABASE.mdf’. (Microsoft.SqlServer.SmoExtended)
For help, click:
——————————
BUTTONS:
Barbara
Thank you so much : it worked instantly !!!
Cheers
Barbara