“Fejlen ved etablering af en databaseforbindelse” er sandsynligvis en af de mest almindelige fejl, WordPress-brugere kan støde på. Det er tæt knyttet til white screen of death (WSOD). Denne fejl betyder, at dit websted ikke længere kommunikerer eller har adgang til din WordPress-database; dermed går hele din hjemmeside ned.
Du bør løse denne fejl med det samme, da dette direkte kan påvirke dit salg, din trafik og dine analyser.
Men bare rolig, i dag vil vi diskutere nogle almindelige scenarier, der forårsager denne fejl, og nogle nemme måder at få dit websted op at køre igen på ingen tid.
Se vores videoguide til at rette op på “fejlen ved etablering af en databaseforbindelse”
Hvad er "fejlen ved etablering af en databaseforbindelse"?
“Fejlen ved etablering af en databaseforbindelse” sker, når et websted ikke er i stand til at oprette forbindelse til WordPress-databasen, hvilket forhindrer siden i at indlæse. De mest almindelige årsager til dette problem er forkerte loginoplysninger og databasekorruption.
Sådan fungerer det: al information på dit WordPress-sted, såsom postdata, sidedata, metainformation, plugin-indstillinger, login-oplysninger osv. gemmes i din MySQL-database. De eneste data, der ikke er gemt der, er medieindhold såsom billeder og dit tema/plugin/kernefiler såsom index.php, wp-login.php osv.
Når nogen besøger dit websted, udfører PHP koden på siden, forespørger oplysningerne fra databasen og viser dem derefter til den besøgende i deres browser.
Hvis dette ikke fungerer korrekt, står du tilbage med meddelelsen “fejl ved etablering af en databaseforbindelse”, som vist nedenfor. Hele siden er tom, fordi der ikke kan hentes data til at gengive siden, da forbindelsen ikke fungerer korrekt. Dette bryder ikke kun frontenden af dit websted, men det vil også forhindre dig i at få adgang til dit WordPress-dashboard.
Besøgende kan dog muligvis ikke se denne fejl på frontend med det samme. Det skyldes, at dit websted højst sandsynligt stadig tjener fra cachen, indtil det udløber. For eksempel, på Kinsta, er alle WordPress-websteder som standard cachelagret i en time. Derfor, hvis et websted stadig tjener fra cachen, kan det forekomme acceptabelt for en besøgende.
Hos Kinsta kan vores supportteam øge varigheden af din cache til for eksempel en time eller endda en uge, hvis du vil. Hvis du har et websted, der ikke ændrer sig meget ofte, kan dette øge dit websteds ydeevne, da det ikke behøver at fange nye filer så ofte, efter cachen udløber. Og i tilfælde som ovenstående vil frontend af webstedet i de fleste tilfælde (medmindre du har et script eller en del af dit websted, der bryder cachen) forblive oppe meget længere.
Når besøgende forsøger at få adgang til dit websted, mens denne fejl opstår, genererer den en 500 HTTP-statuskode i dine logfiler. Den samme statuskode vises med en “intern serverfejl.” Det betyder, at noget gik galt på serveren, og den ønskede ressource blev ikke leveret. Når alt fungerer korrekt, vil dit websted generere en 200 HTTP-statuskode, hvilket betyder, at alt er i orden.
Kinsta-kunder kan gennemgå deres websteds logfiler i MyKinsta-dashboardet:
Hvis du er en Kinsta-klient, kan du også se på 500 fejlnedbrydningsrapporten i MyKinsta analytics for at se, om det er noget, der har været et tilbagevendende problem.
Hvad forårsager “fejlen ved etablering af en databaseforbindelse”?
Så hvorfor sker det præcist? Nå, her er et par almindelige årsager nedenfor. Og bare rolig, vi vil gå mere i dybden med hver af disse, så du kan vide, hvordan du løser dem. Typisk kan du løse denne fejl på under 15 minutter.
Forkert database login-legitimationsoplysninger
Dit WordPress-websted bruger separate loginoplysninger til at oprette forbindelse til dets MySQL-database.
Ødelagt database
Med så mange bevægelige dele med temaer, plugins og brugere, der konstant sletter og installerer dem, bliver databaser nogle gange ødelagt. Dette kan skyldes en manglende eller individuelt beskadiget tabel, eller måske er nogle oplysninger blevet slettet ved et uheld.
Beskadigede filer i din WordPress-installation
Dette kan nogle gange endda ske på grund af hackere.
Problemer med din databaseserver
Adskillige ting kan være galt på webhostens ende, såsom at overbelaste databasen fra en trafikstigning eller ikke reagere fra for mange samtidige forbindelser. Dette er almindeligt med delte hosts, da de bruger de samme ressourcer til mange brugere på de samme servere.
Stigning i trafikken
Afhængigt af den webhost, du bruger, kan din server muligvis ikke håndtere mange samtidige databaseforbindelser. En stigning i trafikken kan føre til midlertidige problemer med databasen.
Hvordan rettes “fejlen ved etablering af en databaseforbindelse”?
Før fejlfinding af fejlen, anbefaler vi at tage en WordPress webside backup. Mange af anbefalingerne nedenfor involverer manipulation af oplysninger i din database, så du ikke ønsker at gøre tingene værre. Du bør altid tage backup, før du prøver at rette ting på dit WordPress-websted, uanset hvor teknisk kyndig du tror, du er.
Du kan bruge et populært WordPress backup plugin såsom VaultPress eller WP Time Capsule til at sikkerhedskopiere dine filer og database.
Hvis du er Kinsta-bruger, kan du drage fordel af vores indbyggede backup-funktion. Klik ind på dit WordPress-websted i MyKinsta og vælg Backups. Klik derefter på fanen Manuel og klik på knappen Backup nu for at oprette en backup manuelt.
Du har så også mulighed for at gendanne en backup til produktion eller iscenesættelse. Eller du kan manuelt tage en backup din MySQL-database ved hjælp af phpMyAdmin. Når du har en vellykket backup, er det tid til at fejlfinde dine database forbindelsesproblemer.
1. Tjek dine loginoplysninger til databasen
Den første ting at gøre er at kontrollere for at sikre, at dine database-loginoplysninger er korrekte. Dette er langt den mest almindelige årsag til, at meddelelsen “fejl ved etablering af en databaseforbindelse” opstår. Især lige efter folk migrerer til en ny hostingudbyder. Forbindelsesdetaljerne for dit WordPress-websted er gemt i filen wp-config.php, som generelt er placeret i roden af dit WordPress-websted.
Den indeholder fire vigtige oplysninger, der skal være korrekte, for at forbindelsen kan opstå.
Database navn
// MySQL settings
// The name of the database for WordPress
define('DB_NAME', 'xxxxxx');
MySQL database brugernavn
// MySQL database username
define('DB_USER', 'xxxxxx');
MySQL database password
// MySQL database password
define('DB_PASSWORD', 'xxxxxxxxx');
MySQL hostnavn (server)
// MySQL hostname
define('DB_HOST', 'localhost');
For at få adgang til din wp-config.php-fil kan du oprette forbindelse til dit websted via SFTP og browse til roden af dit websted. Eller, hvis du bruger cPanel, kan du klikke på “Filhåndtering”, browse til roden af dit websted og højreklik for at redigere filen.
Her er et eksempel nedenfor på, hvordan filen ser ud, når den åbnes.
Du skal nu kontrollere dine nuværende værdier i forhold til dem på din server for at sikre, at de er korrekte. Følg vejledningen nedenfor for cPanel- og Kinsta-brugere.
Tjek database legitimationsoplysninger i cPanel
Den første ting at tjekke er databasenavnet. For at gøre dette skal du logge ind på phpMyAdmin i cPanel under afsnittet Databaser.
Du bør se dit databasenavn nederst til venstre. Du kan ignorere “information_schema”-databasen, da dette er noget, der bruges af hosten. Du vil så gerne sammenligne dette navn med DB_NAME værdien i din wp-config.php fil. Hvis de matcher, så er dette ikke problemet. Hvis de ikke matcher, skal du opdatere din wp-config.php-fil.
Du kan også bekræfte, at dette er den korrekte database ved at sikre, at den indeholder dit WordPress-websteds URL. For at gøre dette skal du klikke på databasen og derefter klikke ind i tabellen wp_options (dette kan være lidt anderledes af sikkerhedsmæssige årsager, såsom wpxx_options). Øverst i tabellen vil du se værdier for dit websteds URL og navn. Hvis disse matcher dit nuværende websted, kan du være sikker på, at du er på det rigtige sted.
Hvis dit databasenavn allerede var korrekt, og du stadig får meddelelsen “fejl ved oprettelse af en databaseforbindelse”, bør du også gerne tjekke dit brugernavn og dit password. For at gøre dette skal du oprette en ny PHP-fil i rodmappen på dit WordPress-websted og indtaste følgende kode. Du kan navngive det, hvad du vil, såsom checkdb.php. Skift værdierne af db_user og db_password med dem i din wp-config.php fil.
<?php
$test = mysqli_connect('localhost', 'db_user', 'db_password');
if (!$test) {
die('MySQL Error: ' . mysqli_error());
}
echo 'Database connection is working properly!';
mysqli_close($testConnection);
Gennemse derefter filen på dit WordPress-websted: https://yourdomain.com/checkdb.php. Hvis du får en “MySQL-fejl: Adgang nægtet”, ved du, at dit brugernavn eller dit password er forkert, og du bliver nødt til at fortsætte til næste trin for at nulstille dine legitimationsoplysninger.
Nedenfor er den besked, du vil se, “Databaseforbindelsen fungerer korrekt.” Men selvfølgelig, hvis det var, så ville du ikke være her. Sørg for at slette/fjerne denne fil, når du er færdig med at teste.
Så derefter skal du nulstille dit brugernavn og dit password. I cPanel skal du klikke på MySQL-databaser under afsnittet Databaser.
Rul ned og opret en ny MySQL-bruger. Prøv at vælge et unikt brugernavn og password, så de ikke let kan gættes. Password generatorværktøjet, de leverer, fungerer fremragende. Klik derefter på “Opret bruger”. Alternativt kan du ændre adgangskoden på denne skærm for den aktuelle databasebruger.
Rul derefter ned og tilføj din nye bruger til din database. Den næste skærm vil spørge, hvilke privilegier du vil tildele. Vælg “Alle privilegier”.
Tag derefter disse nye legitimationsoplysninger og opdater din wp-config.php-fil. Du vil opdatere værdierne DB_USER og DB_PASSWORD. Du kan også køre testfilen igen fra tidligere. Dette skulle så løse dit problem med legitimation. Hvis ikke, kan du stadig have det forkerte hostnavn (DB_HOST). Nogle hosts bruger forskellige værdier.
Se en liste over nogle almindelige DB-host værdier. Dette vil typisk være localhost. Men du kan altid kontakte din hostingudbyder eller tjekke deres dokumentation, hvis du ikke er sikker. Nogle bruger måske også 127.0.0.1 i stedet for localhost.
Hvis du har fulgt alt ovenfor og stadig modtager meddelelsen “fejl ved oprettelse af en databaseforbindelse”, skal du fortsætte til følgende fejlfindingstrin nedenfor.
Tjek database legitimationsoplysninger med Konsta
Hvis du er en Kinsta-bruger, er det meget nemmere at tjekke dine legitimationsoplysninger mod din wp-config.php-fil og serveren! Alt du skal gøre er at klikke på Info-sektionen på dit websted i MyKinsta-dashboardet, og nederst vil du se databasenavnet, brugernavnet og adgangskoden. Som standard bruger Kinsta localhost til DB_HOST.
Tag derefter disse nye legitimationsoplysninger og opdater din wp-config.php-fil. Du vil opdatere værdierne DB_USER og DB_PASSWORD. Dette skulle så løse dit legitimationsproblem. Hvis du har brug for at nulstille disse legitimationsoplysninger, skal du kontakte vores supportteam. Hvis du har fulgt alt ovenfor og stadig modtager meddelelsen “fejl ved oprettelse af en databaseforbindelse”, skal du fortsætte til følgende fejlfindingstrin nedenfor.
2. Reparer korrupt WordPress-database
I nogle tilfælde kan det være, at din database er blevet korrupt. Dette kan lejlighedsvis ske (dog ikke ret ofte), da hundredvis af tabeller over tid konstant tilføjes/fjernes af nye plugins og temaer. Hvis du prøver at logge ind på dit WordPress-websteds dashboard og modtager følgende fejl, betyder det, at din database er korrupt: “En eller flere databasetabeller er ikke tilgængelige. Databasen skal muligvis repareres.” Det er vigtigt at bemærke, at du muligvis kun ser denne fejl på backend, mens du ser meddelelsen “fejl ved etablering af en databaseforbindelse” på frontend.
WordPress har en databasereparationstilstand, som du kan starte. Tilføj følgende til bunden af din wp-config.php fil.
define('WP_ALLOW_REPAIR', true);
Gå derefter til følgende placering på dit WordPress-websted: https://yourdomain.com/wp-admin/maint/repair.php. Du vil derefter have mulighed for at reparere databasen eller reparere og optimere databasen. Da du sandsynligvis er ved at fejlfinde en fejl på dit websted nu, anbefaler vi at bruge muligheden for reprer database, da det er hurtigere.
Efter at have kørt reparationen af databasen ovenfor, skal du sørge for at fjerne den kodelinje, du tilføjede til din wp-config.php-fil. Ellers vil alle kunne få adgang til rrepair.php-siden. Hvis du kører cPanel, kan du også køre en reparation fra MySQL-databaseskærmen.
Eller du kan køre en reparation inde fra phpMyAdmin. Du skal blot logge ind på phpMyAdmin, klikke på din database og vælge alle tabellerne. Klik derefter på “Reparer tabel” fra rullemenuen. I bund og grund skal kun at køre kommandoen REPAIR TABLE.
Og endelig ville din anden mulighed være at køre reparationen ved hjælp af WP-CLI med følgende kommando:
wp db repair
Se mere dokumentation om brug i WordPress-udvikler ressourcerne.
Hvis du ønsker at optimere din database, har vi nogle gode tutorials om, hvordan du optimerer WordPress-revisioner til ydeevne, sammen med hvordan du konverterer dine MyISAM-tabeller til InnoDB. Hvis du stadig har problemer på dit websted, skal du fortsætte til næste fejlfindingstrin.
Foreslået læsning: Sådan rettes fejlen “MySQL Server Has Gone Away” i WordPress.
3. Reparer korrupte WordPress-filer
Den følgende mulige årsag til, at du muligvis ser meddelelsen “fejl ved etablering af en databaseforbindelse” er, at dine WordPress-kernefiler er blevet korrupte. Uanset om dette stammer fra et problem med at overføre filer via FTP, en hacker, der får adgang til dit websted, eller et problem med din host, kan du hurtigt løse dette. Vi anbefaler dog at tage en backup af dit websted, før du prøver dette.
Du kommer til at erstatte kerneversionen af WordPress på dit websted. Du skal ikke røre ved dine plugins, temaer eller medier, kun selve WordPress-installationen.
Du kan dog miste eventuelle ændringer eller tilpasset kode, du har tilføjet til filer såsom .htaccess eller wp-config.php. Hvis du sikkerhedskopierede dit websted før fejlfinding, ville du have kopier af disse filer, som du kan gendanne senere.
For at komme i gang skal du downloade en ny WordPress-kopi fra WordPress.org.
Udpak denne fil på din computer. Indeni vil du gerne slette mappen wp-content og filen wp-config-sample.php.
Upload derefter de resterende filer via SFTP til dit websted, og overskriv dine eksisterende filer. Dette vil erstatte alle de problematiske filer og sikre, at du har friske filer, der er rene og ikke beskadigede. Det anbefales at rydde din browsers cache efter at have gjort dette. Tjek derefter dit WordPress-websted for at se, om fejlen stadig eksisterer.
4. Tjek for problemer med din databaseserver
Hvis intet ovenfor har hjulpet med at løse dit problem, anbefaler vi stærkt, at du tjekker med din hostingudbyder, da det kan være et problem med din database server. For eksempel, hvis der er for mange samtidige forbindelser til din database på én gang, kan det generere en fejl. Dette skyldes, at mange hosts begrænser deres servere på, hvor mange forbindelser der er tilladt på én gang. Brug af et caching-plugin kan hjælpe med at minimere database interaktionerne på dit websted. Hvis du er en Kinsta-klient, behøver du ikke cache-plugins, da vi har hurtig caching på serverniveau.
Dette problem kan ske meget på delte hosts, da en anden teoretisk kan påvirke dit websted. Dette skyldes, at delte hosts bruger alle de samme ressourcer på servere. Dette er en anden grund til, at vi anbefaler at bruge en højtydende administreret WordPress-host, så tingene ikke er overfyldte. Det betyder også, at miljøet typisk er finjusteret til at håndtere store mængder trafik, specifikt til WordPress-websteder.
Det kyndige Kinsta-supportteam er altid et klik væk i nederste højre side af dashboardet og tilgængeligt 24/7, hvis du har brug for hjælp. Og glem ikke, at vi har repræsentanter til at hjælpe dig på flere sprog, herunder engelsk, spansk, fransk, italiensk og portugisisk.
5. Gendan seneste backup
Og sidst, men ikke mindst, kan du altid ty til en backup, hvis det er nødvendigt. I nogle tilfælde kan dette være en hurtigere måde at løse problemet på, hvis du ikke er bekymret for at miste data mellem det tidspunkt, hvor din sidste backup blev taget. Mange hosts har deres egen backup-gendannelsesproces. Husk, at du muligvis skal gendanne både din database og dine filer.
Hvis du er Kinsta-bruger, kan du hurtigt gendanne en backup af dit websted i sektionen Backup dit websted. Vælg det tidspunkt, du vil vende tilbage, og klik på “Gendan til“. Du kan derefter vælge, om du vil gendanne til Scene eller dit Live-websted.
Du vil derefter blive bedt om at bekræfte gendannelsen. Indtast dit websteds navn og klik på “OK”. Det opretter også en backup på gendannelsestidspunktet, så du kan fortryde gendannelsen, hvis det er nødvendigt.
Opsummering
Som du kan se, er der en del måder at rette op på “fejlen ved etablering af en databaseforbindelse” i WordPress. Det mest almindelige er ugyldige legitimationsoplysninger i filen wp-config.php. At kontrollere for at sikre, at de er korrekte, er det bedste sted at starte. Det sidste, du ønsker for en hjemmeside, er at opleve nedetid.
Forhåbentlig hjalp et af trinene ovenfor dig med at få dit websted op at køre igen. Husk, at du altid kan gendanne dit websted fra en backup, hvis det er nødvendigt.
Har du oplevet meddelelsen “fejl ved etablering af en databaseforbindelse” på dit websted? Hvis ja, var du i stand til at løse det? Fortæl os det nedenfor i kommentarerne.
Skriv et svar