Din hjemmeside viser kun én linje: «Fejl ved etablering af databaseforbindelse». WordPress kunne ikke åbne den database, der rummer dine sider, indstillinger og konti. Dit indhold er som regel intakt: denne guide viser, hvordan du finder ud af, hvilken af de fire mulige årsager der er på spil, og hvordan du retter den.
wp-config.php. Dit indhold er som regel intakt.DB_NAME, DB_USER, DB_PASSWORD og DB_HOST i wp-config.php med dem i dit kontrolpanel.For hver side, WordPress viser, åbner det en forbindelse til sin MySQL- eller MariaDB-database med fire værdier, der står i wp-config.php i hjemmesidens rodmappe:
define( 'DB_NAME', 'databasenavn' );
define( 'DB_USER', 'brugernavn' );
define( 'DB_PASSWORD', 'adgangskode' );
define( 'DB_HOST', 'localhost' );
«Fejl ved etablering af databaseforbindelse» betyder, at den forbindelse mislykkedes. Fire årsager fører til det: oplysninger, der ikke længere passer, en databaseserver, der er nede eller ikke kan nås, en overbelastet server eller en beskadiget database. Afsnittene nedenfor gennemgår dem fra den nemmeste at tjekke til den sjældneste.
Er serveren årsagen, så opret en supportsag hos din udbyder med tidspunktet, hvor fejlen begyndte, og den præcise besked. Imens er der intet at ændre på hjemmesiden.
Det er den hyppigste årsag efter en flytning af hjemmesiden, en ændring af databasens adgangskode i kontrolpanelet eller en gendannelse af en sikkerhedskopi. Sammenlign de fire værdier i wp-config.php med databaseafsnittet i dit kontrolpanel:
DB_NAME og DB_USER: mange udbydere sætter kontonavnet foran (konto_wordpress). Præfikset er en del af navnet.DB_PASSWORD: er du i tvivl, så sæt en ny adgangskode for brugeren i kontrolpanelet, og kopiér den ind i filen.DB_HOST: localhost hos mange udbydere, men ikke alle. Nogle angiver et servernavn eller en adresse, nogle gange efterfulgt af en port (:3306). Den præcise værdi står i kontrolpanelet.En adgangskode med et enkelt anførselstegn (') afbryder PHP-strengen omkring den i wp-config.php. Sæt en omvendt skråstreg foran (\'), eller vælg en adgangskode uden enkelt anførselstegn.
WordPress viser en generel besked. MySQL siger derimod præcist, hvad der er galt. To måder at spørge den på, med værdierne fra wp-config.php:
mysql -h localhost -u brugernavn -p databasenavn
Med WP-CLI læser wp db check direkte wp-config.php og tjekker tabellerne med de oplysninger.
Upload denne fil til hjemmesidens rodmappe under et navn, der er svært at gætte, åbn den i din browser, og slet den straks bagefter: den indeholder databasens adgangskode.
<?php
mysqli_report(MYSQLI_REPORT_OFF);
$forbindelse = @mysqli_connect('localhost', 'brugernavn', 'adgangskode', 'databasenavn');
echo $forbindelse ? 'Forbindelse OK' : 'Fejl: ' . mysqli_connect_error();
Den første linje er vigtig: siden PHP 8.1 udløser en mislykket forbindelse som standard en undtagelse, og siden ville forblive hvid i stedet for at vise beskeden fra MySQL.
| MySQL svarer | Årsagen | Løsningen |
|---|---|---|
Access denied for user 'brugernavn'@'localhost' (using password: YES) | Kombinationen af brugernavn og adgangskode afvises, eller brugeren må ikke forbinde fra denne vært. | Nulstil adgangskoden i kontrolpanelet, og kopiér den ind i DB_PASSWORD; tjek DB_USER. |
Access denied for user 'brugernavn'@'localhost' to database 'databasenavn' | Brugeren kan forbinde, men har ingen rettigheder til denne database. | Knyt brugeren til databasen i dit kontrolpanel, med alle privilegier. |
Unknown database 'databasenavn' | Forbindelsen virker, men ingen database har det navn. | Ret DB_NAME, præfikset medregnet; tjek, at databasen stadig findes. |
Too many connections | Serveren har nået sit maksimale antal samtidige forbindelser. | Se afsnittet om fejl, der kommer og går. |
Connection refused eller No such file or directory (kode 2002 fra PHP), Can't connect to MySQL server (kommandolinje) | Ingen server svarer på den adresse: serveren er nede, eller DB_HOST er forkert. | Tjek DB_HOST i kontrolpanelet; ellers kontakt din udbyder. |
Forbindelse OK | Oplysningerne er korrekte. | Se på selve databasen: næste afsnit. |
Når oplysningerne er korrekte, men tabeller er beskadigede, viser den offentlige hjemmeside den samme forbindelsesfejl, og administrationen en mere præcis: «En eller flere databasetabeller er ikke tilgængelige. Databasen kan have brug for at blive repareret.» WordPress har et værktøj til det. Tilføj denne linje i wp-config.php:
define( 'WP_ALLOW_REPAIR', true );
Åbn derefter https://www.din-hjemmeside.com/wp-admin/maint/repair.php, og kør «Reparer database». Fjern linjen, så snart reparationen er færdig: så længe den står der, kan alle nå den side uden at logge ind.
Før enhver reparation eksporterer du databasen (wp db export eller eksportfunktionen i phpMyAdmin). Mislykkes reparationen, kan din udbyder gendanne databasen fra sine sikkerhedskopier.
En fejl, der dukker op på bestemte tidspunkter og derefter forsvinder af sig selv, peger på en overbelastet server snarere end på en forkert indstilling. De almindelige årsager:
wp-login.php eller xmlrpc.php, som kan ses i din udbyders adgangslogfiler.Løsningerne: bloker misbrugende loginforsøg, tilføj sidecache, slå xmlrpc.php fra, hvis intet program bruger den, og bed din udbyder om logfilerne for tidspunktet, hvor fejlen opstod.
Med Serenity by Simafri opretter vi din professionelle hjemmeside, hoster den, sikrer den og holder den opdateret. Du skriver til os, vi tager os af alt. Domænenavn og professionel e-mail inkluderet.
Som regel ikke. Beskeden siger, at WordPress ikke kunne forbinde til databasen, ikke at databasen er væk. Viser phpMyAdmin stadig hjemmesidens tabeller, er dine sider, indlæg og indstillinger på plads.
Fordi den nye hosting bruger andre databaseoplysninger: databasenavn, bruger, adgangskode og nogle gange serveradresse. Kopiér værdierne fra det nye kontrolpanel ind i DB_NAME, DB_USER, DB_PASSWORD og DB_HOST i wp-config.php.
En geninstallation af WordPress ændrer hverken oplysningerne i wp-config.php eller databaseserverens tilstand, og det er dem, der giver denne besked. Test først oplysningerne, derefter serveren og til sidst tabellernes integritet.
Fra overbelastning snarere end fra en indstilling: for mange samtidige forbindelser, en trafikspids eller bots. Adgangslogfilerne og tallene for ressourceforbrug i dit kontrolpanel viser, hvad der skete, da fejlen opstod.
Simafri
Lad os tale om din hjemmeside
Fortæl os om dit projekt med få ord: vi vender hurtigt tilbage til dig.
Tak! Din forespørgsel er sendt. Vi vender tilbage til dig hurtigst muligt.
Foretrækker du e-mail? Skriv til os på support@simafri.com.