Meddelandet ”Fel vid upprättande av en databasanslutning” i WordPress är ett allvarligt fel som gör din webbplats otillgänglig för användarna. Det inträffar när WordPress inte kan ansluta till databasen.
Eftersom flera faktorer kan påverka den här anslutningen kan felet vara lite svårt att felsöka för nybörjare.
Vi har drivit vår blogg på WordPress under de senaste 16 åren och har stött på en mängd olika fel och varningar, inklusive ”Fel vid upprättande av en databasanslutning”. Genom vår erfarenhet och många försök och misstag har vi lärt oss att felsöka dessa problem utan att störa vår webbplats.
I den här artikeln kommer vi att visa dig hur du enkelt fixar ”Error establishing a database connection” på din WordPress site, steg för steg.
Vad orsakar error vid upprättande av en anslutning till en database i WordPress?
En database är en programvara som gör det enkelt att lagra, organisera och hämta data från andra program.
Som ett system för hantering av innehåll använder WordPress en database för att lagra all your content och andra data på din website. Den ansluter sedan till databasen varje gång någon besöker din website.
WordPress behöver följande information för att ansluta till databasen:
- Namnet på din database
- Database användarnamn och password
- Server för databaser
Den här informationen lagras i din WordPress-konfigurationsfil, som heter wp-config.php.
Om någon av dessa uppgifter är felaktiga kommer WordPress att misslyckas med att ansluta till din server för databasen och du kommer att se felet ”Error establishing a database connection”.
Det är ett av de vanligaste WordPress error. Förutom felaktiga credentials kan detta error också dyka upp om databasens server är nere eller databasfilerna är korrupta.
Med detta sagt, låt oss ta en titt på hur man fixar ”Error establishing database connection” issue i WordPress med steg-för-steg troubleshoot.
1. Kontrollera din WordPress Database Credentials
Felaktiga autentiseringsuppgifter är den vanligaste orsakentill felet i databasanslutningen. Om du nyligen har flyttat din WordPress-webbplats till ett nytt webbhotell är det sannolikt detta som är problemet.
Credentials för din WordPress-databas lagras i filen wp-config.php. Det är konfigurationsfilen för WordPress som innehåller viktiga settings, inklusive information om databasen.
Om du ej har redigerat filen wp-config.php tidigare kan du ta en titt på vår guide för nybörjare om hur du redigerar filen wp-config.php för mer instruktioner.
Du kommer att leta efter följande rader i filen 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' );
Här måste du se till att informationen om databasnamn, användarnamn, password och server är korrekt.
Du kan bekräfta denna information från instrumentpanelen för ditt WordPress dashboard. För denna tutorial kommer vi att använda Bluehost, men processen kommer att vara liknande för andra webbhotell paneler också.
När du har loggat in klickar du på fliken ”Website” i den vänstra kolumnen och växlar sedan till fliken ”Advanced”. Rulla sedan ner till sektionen ”Database” och klicka på knappen ”Manage” bredvid den.
Detta kommer att öppna sidan MySQL Databases i cPanel i ett new fönster.
Här kan du hitta ditt databasnamn och användarnamn i sektionen ”Current Database”. Tänk på att copy and paste dessa details till ett anteckningsblock så att du kan add to dem till wp-config-filen.
Därefter rullar du ner till sektionen ”Current Users”, där du kan clicka på länken ”Change Password” bredvid namnet på din database.
Du kommer då till en new vy där du kan ändra lösenordet för databasen så som du gillar det.
När du har bekräftat all din database details kan du ändra den informationen i din wp-config.php-fil om det behövs.
Efter det kan du försöka besöka din website igen för att se om error i anslutningen till databasen har försvunnit.
Om du fortfarande kan se error betyder det att något annat är fel.
2. Kontrollera informationen om servern för din Database
Om du är säker på att uppgifterna om databasens namn, användarnamn och password är korrekta, är det bra att kontrollera att du använder korrekt information om databasens server.
De flesta webbhotell för WordPress använder localhost som server för din database. Vissa hanterade WordPress-värdföretag använder dock separata servrar för att servera databaser. I så fall kommer din databas serverinformation inte att vara localhost.
Detta innebär att du måste kontakta ditt webbhotell för WordPress för att bekräfta dessa detaljer.
3. Reparera WordPress Database
Nu kanske du får ett annat fel i wp-admins instrumentpanel, till exempel ”En eller flera databastabeller är inte tillgängliga” eller ”Databasen kan behöva repareras”. I så fall måste du reparera din databas.
Du kan göra detta genom att lägga till följande rad i din wp-config.php-fil. Se till att add to den precis före ”That’s all, stop editing! Trevlig blogg”:
define('WP_ALLOW_REPAIR', true);
När du har gjort det kan du se inställningarna genom att besöka den här page: http://www.yoursite.com/wp-admin/maint/repair.php. Se bara till att ersätta yoursite.com med ditt eget domain name.
Här måste du klicka på knappen ”Repair Database” för att starta processen.
Note: Användaren behöver ej vara inloggad för att komma åt reparationssidan för databasen. När du är klar med att reparera och optimera din database, se till att ta bort den här kodraden från din wp-config.php.
Men om du inte vill lägga till någon kod på din webbplats kan du också reparera din databas med hjälp av ditt webbhotellkontos cPanel.
Gå vidare och besök ditt webbhotell konto, där du måste öppna sidan ”Websites” från den vänstra kolumnen. Gå sedan till tabben ”Advanced” och klicka på knappen ”Manage” i sectionen ”Database”.
Detta kommer att öppna cPanel i en new tab. Här rullar du ner till ”Modify Databases” section och väljer namnet på din database från ”Repair Database” dropdown menu.
När du har gjort det klickar du bara på knappen ”Reparera databas” för att starta processen.
Webbhotellets panel kommer nu automatiskt att reparera din database åt you.
När processen är completed kommer du också att se ett success message.
Du kan nu besöka din WordPress-webbplats för att se om felet har åtgärdats eller inte.
4. Kontrollera om din server i databasen är nere
Om allt verkar vara korrekt och WordPress fortfarande inte kan anslutas till databasen, kan din databasserver (MySQL server) vara nere.
Detta kan hända på grund av tung trafik på en server. Din server kan helt enkelt inte hantera hämtar (särskilt när du har delade webbhotell).
På grund av detta kommer din webbplats att bli långsam och kan till och med mata ut felet för vissa användare. I det här fallet bör du ringa eller livechatta med din hostingleverantör och fråga dem om din MySQL-server är responsiv.
Om du dessutom har andra webbplatser som körs på samma server kan du kontrollera dessa webbplatser för att bekräfta att din SQL-server är nere.
Om du ej har någon annan site på samma webbhotell account, så går du bara till din dashboard och byter till tabben ”Advanced”.
Därefter klickar du på knappen ”Hantera” bredvid phpMyAdmin section.
Detta öppnar phpMyAdmin i ett nytt fönster, där du måste klicka på alternativet ”Database” högst upp.
Därefter klickar du på namnet på din database för att komma åt dess Settings. Om du kan göra det, är det dags för dig att kontrollera om din databas användare har tillräckliga behörigheter.
För att göra detta måste du skapa en new fil som heter testconnection.php och klistra in följande kod i den:
<?php
$link = mysqli_connect('localhost', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>
När du klistrar in koden, se till att ersätta användarnamn och password med dina egna. Du kan nu uploada filen till din website och komma åt den via en web browser.
Om skriptet ansluts utan problem betyder det att din användare har tillräcklig behörighet och att det är något annat som orsakar error.
Nu måste du gå tillbaka till din wp-config-fil och skanna den för att se till att alla detaljer är korrekta och utan några stavfel.
Ytterligare lösningar som har fungerat för användare
Om de ovan nämnda felsökningstipsen inte lyckas fixa felet i anslutningen till databasen på din webbplats kan du prova dessa ytterligare steg.
Som våra användare har rapporterat har dessa steg hjälpt några av dem att lösa error i anslutning till databasen på sina webbplatser.
1. Update URL:en för WordPress site
Du kan försöka updating URL:en för WordPress site med hjälp av phpMyAdmin i cPanel.
Gå bara in på phpMyAdmin från din dashboard på webbhotellet och välj din WordPress database från listan.
Därefter växlar du till SQL-menyn högst upp och anger följande MySQL-fråga:
UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'
Det ska se ut så här:
Glöm inte att ange din egen site URL och ändra wp_options
till ditt eget tabellnamn, eftersom du kan ha ändrat WordPress tabellprefix.
2. Starta om web server
Användare på dedikerade servrar, språkversioner och virtuella privata servrar (VPS) kan försöka starta om sina servrar.
Detta kommer att starta om din web server och database server, vilket kan fixa några tillfälliga problem som orsakar error.
3. Be om hjälp
Om allt annat Misslyckas, då kan du behöva kontakta ditt webbhotell. Alla bra webbhotell för WordPress kommer att hjälpa dig att troubleshoota problemet, peka dig i rätt riktning eller till och med fixa det åt dig.
Du kan också anlita WordPress-utvecklare via en plattform som WPBeginner Pro Services för att hjälpa dig att lösa detta problem till rimliga priser. Vi har ett dedikerat team av expertutvecklare som du kan lita på för att lösa alla dina WordPress-problem.
Du kan också använda tjänsten för webbplatsunderhåll, reparation av hackad webbplats, hastighetsoptimering, ombyggnad av webbplats och SEO-optimering.
Vi hoppas att den här artikeln hjälpte dig att åtgärda problemet med ”Fel vid upprättande av en databasanslutning” i WordPress. Du kanske också vill se vår felsökningsguide för WordPress för tips om hur du löser WordPress-problem på egen hand eller vår handledning om hur du lägger till en anpassad databasfelsida i WordPress.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
cgjam
had this happen to me when trying to install word press, didnt realise i hadn’t actually enabled user privileges! thanks for this helpful article
Moogie1947
Just had this happen after I backed up my files and had set up a password to access and backup my database before I upgraded.
Thanks for your site realised that I had accidentally replaced the autogenerated password (as I didn’t know it existed) . So I found it in the config.php file in my backup set and reset it in the admin panel on my host’s site. All now OK.
Can’t thank you enough for a brilliant article.
ValentinaMercenaro
I’ve tried them all! Eventually I solved by creating a
different DB Username in my host cpanel (giving it all the privileges of
course) and also changing the DB Host to my server IP in the wp-config.php file.
I’ve got no clue why that would solve the issue but perhaps
it could be that the DB Name and DB Username cannot have the same name. (You may think: ”duh! Of course not!!!”, well, my host’s ”DB Creation Wizard” had auto generated the two fields and, believe it or not, it wouldn’t let me change it at the beginning). I had to create a new user
separately later on to solve the issue.
Thanks for this great post. x
bfadmin1
You’re the best ….
I didnt know that changing the db password would drop the database connection to wordpress ….
Solution 2 was brilliant ……. 2 min max.
Thanks alot!!!
needhelpquik!
hello…i am getting this error. it just happened out of the blue today! nothing was changed other than some text on a page. i logged out. now i got the error.
in one of the paragraphs you state: ”First thing you should do is to make sure that you are getting the same
error on both the front-end of the site, and the back-end of the site
(wp-admin). If the error message is the same on both pages “Error
establishing a database connection”, then proceed onto the next step.” what is the next step? i get the error on both sides.
this was confusing to me. sorry. so what is the next step so i can try to figure out how to fix this!
thanks for your help!
PeterBestel
This error happened to one of my membership sites, except when you logged in, the site looked and acted normally.
After following the usual routes, including changing the database user and accusing the theme of being the culprit, I discovered an extra ”?>” at the end of the wp-config.php file. Once I deleted that everything worked.
I have no idea how that ended up there. Hours of frustration sorted by deleting two characters!!
Jayden Lawson
Thanks guys! One of my tables failed to repair, so I followed this advice to repair that table in phpMyAdmin http://wordpress.org/support/topic/wp_options-table-is-marked-as-crashed-10?replies=6
Ed Luvables
This worked perfectly, I forgot to change my password in the config file. Thanks!
George Stroud
With this problem I found that it was a database corruption but that it resulted in my not being able to access the Wordpress repair tool – however, I could effect a repair by using the mySQL section in my hosts control panel (cPanel) and then the site came straight back up.
Jenerwin
just encountered this type of error..and i be able to fixed this through database optimize and repair..i like this post..thumbs up..
Carrie Case
I had the Permalinks set to Post Name. I switched it back to Default and the error went away and my pages re-appeared. I then switched back to Post Name because I prefer this setting, and it still worked. Good to go. Only took several hours to figure that crap out. Lol.
Joninashby
Saved my life – changed the database password within the hosting control panel, had no idea I had to update it in wp-config. Hours of stress avoided – thanks!
K.C. Bateman
thank you
This was very helpful!
Ayo Akinbode
It worked! tnx so much
BillR
I had this issue today.
Server had crashed last night and was attended to fairly quickly when the issue was known.
All worked for a while but today WordPress couldn’t make a connection to the database.
The Simple Machines Forum database was working ok and the forum would load.
What I did was:
1. Create a new database user
2. Assigned that user to the WP database with full privileges.
3. Updated WP_config to use that user
After that all was good.
Seems that after a server issue the WordPress user privileges can become corrupt or changed even though the user is shown with full privileges.
Thanks for this post. It pointed me in the right direction.
Alex
Thank you very much!… hours and hours seeking the answer and your’s worked just fine!…
Chris
This worked for me as well. Very strange.
Enhow
Hi! I having constantly this issue, I go to the webpage and it shows this error, but then I refresh some minutes later and the error it’s gone. It stopped happening so I even forgot about it. But today I asked my work partners (4 people) to enter the site at practically the same time to see the new mobile appearance and some got the error and others didn’t (it wasn’t exactly at the same time since I asked to do it in their phones and everyone had different speed) this concerns me a lot. I read you told someone else who also had this issue but it fixed by itself that it was because of his server. Should I call my server and ask what’s going on? Or is there a chance I did something wrong? Almost everyday it’s weird and it just go away. Thanks!
WPBeginner Support
It seems like your database server is not working properly. Please contact your web host.
Administratör
Mike
Thank you! Edited the .php file and fixed my problem. Awesome.
Terry
Sorry guys,but for a real beginner your information appears to assume a greater knowledge on how to do stuff than perhaps some of us have.It’s ok to say,check this or that, but when we have no idea how to get there, it is not much help.I know you are saying that we should not be here if the tech. level is not there, but that does not help.One can follow a more step by step procedure but perhaps that is asking too much.Thanks.
WPBeginner Support
We understand, and we are sorry that you didn’t find this information easy. Please let us know which part you are having trouble with and we will try to explain it more.
Administratör
Henri
Thanks – Your article helped me to fix the problem in minutes!
Chuck
Last night my Centos server crashed and when it came back up I had the error.
What worked for me was to rename the file /var/lib/mysql/mysql.sock, start the mysql service with service mysqld start, shutdown the server with shutdown -h now, then bring the server back up.
Basically, the crash had locked up MySql so it thought it was running when it really wasn’t.
Bart
Thank you very much!
In my case I fixed it by
1) deleting the current user that was connected to my database
2) creating a NEW user with all privileges
3) adding this user to the database
4) refreshing my details in config.php (user and password)
5) refresh my site (F5)
Furthermore, although I hadn’t changed anything about this, when I reloaded my WP admin page, a Fatal error occured which told me that the Facebook plugin was creating some sort of memory exhaustion. I disabled the plugin by renaming it in wp-content/plugins and got rid of my problem.
This, by the way, also solved some display issues on my homepage.
Hope this feedback helps and again, thank you very much for sharing this article!
Bart
lubna
I cant log i to my wp after successful installation of db
Ruthie
When I went to login to my company’s dev site this morning, I got this message (on the back end and on the front end), but 10 minutes later I refreshed the page and it wasn’t a problem anymore. On the one hand, I’m glad it resolved itself, but on the other hand, I’d really like to know why it happened and how it got fixed so it doesn’t happen again. Any ideas?
WPBeginner Support
It is possible that the database server was down at the time you got this error. The issue resolved when the database server came back online again.
Administratör
Derek Smith
I am having a database error that I need help with. I bought 40 WP sites and transferred them from one host to another (GoDaddy). I made the mistake of switching some content on the sites before switching the DNS. I switched all of the domains last night to match the DNS of Godaddy, not I am getting database error problems with all of the sites that I worked on.
I’m kind of a newbie on the backend side, but I’m thinking that changing the files and then pointing the DNS after this somehow messed everything up, this is the only thing that I could come up with since the sites I didn’t touch still work. Thanks
WPBeginner Support
First you should have backedup your old databases using phpMyAdmin and then import them to your new webhost’s database server using phpMyAdmin. You should then change your DNS settings to point to your new web host. After that you need to edit wp-config file on all your sites, change the database name, password, host, settings to match your new databases.
Administratör
Derek Smith
What do I do to fix it now that it is at this point? All the DNS settings are changed and I keep getting the error messages. Is there a way to go back and install the original files ?
Tony
Hi there…
I’ve been working with a local install for a while now and wanted to change the url of my local install to something else, so I went ahead and changed quite a few times my wp-config database name, my mamp settings of the database in ”wp-options”..plus some others I don’t know remember. This resulted in ”error establishing database connection”. I troubleshooted for a whole day, (returning back to the same nightmare I got when I first installed mamp and wordpress locally). I changed everything back the way it was to no avail, making me feel soooo frustrated and stupid again…! So, I read this article to the end and where it says ”siteurl” solution in the ”Solutions that worked for others” section and went back in phpmyadmin to check this…surely enough…in the ”wp-options” of the particular database, in the ”site url” field, it had the name of my database, (which I had stupidly changed previously without realising its impact), I also checked it against other databases I could access with no problems and the field indeed said, ”siteurl” instead of the actual db name!
I changed it immediately and phewww….got my database back and working and logging in with no problems..!!
People, if you did something similar, check this first…it surely made me feel stupid…at least I have another troubleshooting trick up my sleeve now…thank you for your input..!
WPBeginner Support
Glad that you found the solution. Thanks for sharing it with other users.
Administratör
Thouhedul Islam
Well, thanks for details. But I think, it is very simple. Don’t take it complicated like you. Just open wp-config.php and change the database username and password. Hope it will be fix.
—
Bamanya Brian
Thanks man..i followed all thru and now my site is up..Godbless
Tamas
Hello,
Thanks for this description.
I just moved my site from BlueHost to DreamHost.
When going to my site I get an EMPTY (really empty, white) page. Nothing else.
However, when I go to wp-admin… ”Error establishing a database connection” is displayed.
I can log in into the MySQL (going to msql.remete.org) and it works.
All four parameters in wp-config seem to be oké, as well:
/** The name of the database for WordPress */
define(’DB_NAME’, ”);
/** MySQL database username */
define(’DB_USER’, ”);
/** MySQL database password */
define(’DB_PASSWORD’, ”);
/** MySQL hostname */
define(’DB_HOST’, ”);
Here I had replaced the ”localhost” by the ”msql.remete.org”, as it should be with DreamHost.
My site is remete.org.
I moved already several WP sites … and some worked well, some had the white page at the root, however, this is the first and only one with ”Error establishing a database connection” error.
How may I make the DB connection work?
How can the root made work, as well (instead of the white page)?
I would really appreciate your help.
Thanks a lot,
Tamas from Budapest
d4drdave
Ace post, worked a treat
Shlomi
for a multisite deployment, you also need to check the table wp_blogs and make sure the correct URL appears there, otherwise wordpress will say ”error-establishing-a-database-connection”
Matt
DING DING! I had pulled down a copy of production data and was suddenly getting this error with a multisite instance. Updated the ”domain” column in wp_blogs and it works again. Thanks for pointing it out!
Olga
Thank you for producing this quality post. Your instruction worked perfectly! and saved me lots of hassle
Bulbul
Thanks! it solved my problem in few minutes..
Alex
Hey man. I just wanted to thank you for this GOOD post. It didn’t work and I didn’t know why.
I read your blog and followed everything and now it works again.. after 11 HOURS of work.
This is a sign of appreciation.. If you were here I’d get you a huge beer. Thanks so much for your clear help!
Alex
Travis
Oh my goodness. Typically posts like these usually don’t pan out for me after following directions… but you sir have saved the day here. Thank you!
Allen
Thanks so much. It worked.
Tish
Thank you so much for this! I definitely thought I had lost my site completely until I followed this. My only hangup was that I had no idea where to find the wp-config.php file without being able to get into wordpress. I eventually found my file manager through my hosting, but it took me a while to figure that part out. Keep the great info coming!
Zewdu
Why do I get this message and how can I fix it
Downloading update from http://wordpress.org/wordpress-3.8-new-bundled.zip…
Unpacking the update…
Could not create directory.: /home/mrc-et.com/www/wp-content/upgrade/wordpress-3.tmp
Installation Failed
WPBeginner Support
Zewdu this could happen when your file permissions are not properly set, or some configuration issue on your hosts end. Please contact your web host.
Administratör
Michael
OR….
*IF* you were messing around in the editor with any of your .php pages/code in the editor and your copy/paste back to the original did not work on this database connection error… the work-around is to then copy/paste back via FTP to the exact folder of the .php file rewriting over the edited one and this will for sure work to get your site to show back up online again.
superfunkie
Hi! Im facing the same problem with the wordpress. I did copy and paste the testconnection.php and it showed ”Access Denied”. But when I edited the line – ”mysql_connect” to ”mysqli_connect” database was connected successfully. How do I implement ”mysqli_connect” in the wordpress config file?
WPBeginner Support
Superfunkie please check your php version if it is PHP 5.5 then contact your webhost and let them know about this error.
Administratör
Aaqil Mahmood
I am seeing ”a secure data connection could not be established” on android browsers for my site
, only when reading posts not on homepage.
marcel
Hi there,
I am desperately trying to launch a new install of Wordpress with MAMP, both Apache en MySQL give green lights, but when starting up in the browser I get the ”Error establishing a database connection” message.
I am relatively new and most of the options above seem rather advanced, and for websites that have already been working, is there a simple way to tackle this for new installations of Wordpress?
Wordpress was supposed to be not too difficult to install….
Thanks in advance!
WPBeginner Support
marcel open the wp-config.php file in your WordPress install folder. And check your database username and password. Usually on fresh install of MAMP database username should be root and password should be left blank.
Administratör
patel sumit
very help full thanks
Gautam Sharma
i am a newbie & my site data access via filezilla, Please tell how to test connection as i have not seen any phpmy admin in hosting control panel.
WPBeginner Support
If your web host is using cPanel you will see phpMyAdmin under database section. For other hosting control panels, you can ask your web host about it.
Administratör
Hamza
Thanks, worked!
Jen Barnes
Pardon my seemingly dumb question, but what do I put in for ”root” in the MySql test?
$link = mysql_connect(’localhost’, ’root’, ’Q3dDZE3PiUpQ’);
Thanks!
WPBeginner Support
replace root with your MySQL username (unless your MySQL username is already root then don’t change it) and then your password. Let’s assume your mysql host is localhost, username is jenbarnes and password is Q3dDZE3PiUpQ then you would use it like this
$link = mysql_connect('localhost', 'jenbarnes', 'Q3dDZE3PiUpQ' );
Administratör
lee getty
Thanks dude you saved my website
Kasper
Hey, I can’t launch my site as wp-admin or just visit the site?
what to do? It’s all my 4 domains there’s been down by this error (below)
”Error establishing a database connection”
Please help me!
– Kasper
WPBeginner Support
Please try the steps mentioned in the article above.
Administratör
Faysal Shahi
Bro, add Google translator in this blog. I need this post in Bengali.
Peter
Thanks mate !
Helped a lot, keep up the good work
Asif
Oh! thank you guys! I almost had a heart attack.
This was the first time I was backing up my data (so that my website doesnt crash or even if it did I could recover it) logged in to PHPadmin panel changed the password caz the original one was auto generated. logged in and backed up. relieved I went back to my website and boom! these big letters: Error Establishing a Database Connection
man, you can understand I flatlined for a few seconds..
Anyway thanks alot!!
onel
Thank you so much!!! It works!!!