Hvordan fikse: Feil: klarte ikke å etablere databasetilkobling I wordpress

Vi har vel alle sett denne ved en eller annen sammenheng når man jobber med WordPress eller har surfet på nettet en stund. 

Feil med å etablere en databaseforbindelse er en av de problemene som kan skyldes mange årsaker. 

Som WordPress nybegynner kan dette være veldig frustrerende spesielt når det skjer på egenhånd uten at du har endret noe. I denne artikkelen vil vi vise deg hvordan du løser feilen som oppretter en databaseforbindelse i WordPress, ved å lage en liste over løsninger på ett sted.

Merk: Før du gjør noen endringer i databasen, må du kontrollere at du har tilstrekkelig sikkerhetskopi!

Hvorfor får du denne feilen?

Kort sagt, du får denne feilen fordi WordPress ikke klarer å opprette en databaseforbindelse. Hva grunnen til at WordPress ikke kan etablere en databasetilkobling er varierende. 

  • Det kan være at databasens påloggingsinformasjon er feil eller har blitt endret. 
  • Det kan være at databaseserveren din ikke svarer. 
  • Det kan være at databasen din har blitt skadet.

Min erfaring er at flertallet av ganger denne feilen kommer er på grunn av en eller annen slags serverfeil, men det kan også være andre faktorer. La oss ta en titt på hvordan man går fram for å feilsøke dette problemet.

Oppstår problemet for / wp-admin / også?

Første ting du bør gjøre er å sørge for at du får den samme feilen på både forsiden av nettsiden og i administrasjonen av nettstedet (wp-admin). Hvis feilmeldingen er den samme på begge sidene «Feil med å opprette en databaseforbindelse», fortsett til neste trinn. Hvis du får en annen feil på wp-admin, for eksempel noe som «En eller flere databasetabeller er utilgjengelige. Databasen må kanskje repareres «, da må du reparere databasen.

Du kan gjøre dette ved å legge til følgende linje i wp-config.php-filen. Legg til det like før: «/* That’s all, stop editing! Happy blogging. */» linjen i wp-config.php.

define('WP_ALLOW_REPAIR', true);

Når du har gjort dette, kan du se innstillingene ved å besøke denne siden: https://www.dittnettsted.no/wp-admin/maint/repair.php

Husk at brukeren ikke trenger å være logget inn for å få tilgang til denne funksjonaliteten når denne definisjonen er angitt. Dette skyldes at hovedintensjonen er å reparere en ødelagt database. Brukere kan ofte ikke logge inn når databasen er skadet. Så når du er ferdig med å reparere og optimalisere databasen, sørg for å fjerne dette fra wp-config.php.

Hvis denne reparasjonen ikke løste problemet, eller hvis du har problemer med å kjøre reparasjonen, fortsett å lese denne artikkelen som du kanskje finner en annen løsning på problemet.

Kontrollerer WP-Config-filen

wp-config.php er trolig den mest viktigste enkeltfilen i hele WordPress-installasjonen. Her spesifiserer du detaljene for WordPress for å koble til databasen. Hvis du har endret root-passordet ditt eller passordet til databasen, må du også endre denne filen. Første ting du alltid bør sjekke er om alt i din wp-config.php-fil er det samme som på webhotellet/serveren din.

define('DB_NAME', 'database-name'); 
define('DB_USER', 'database-username'); 
define('DB_PASSWORD', 'database-password'); 
define('DB_HOST', 'localhost');

Hvis alt i denne filen er riktig (pass på at du ser etter typoer), så er det å anta at det er noe galt i serverenden.

Sjekk webserveren din (MySQL Server)

Ofte vil du legge merke til denne feilen med problemer med å koble til databasen når nettstedet ditt får mer trafikk enn det serveren takler. I utgangspunktet klarer serveren din ikke å håndtere belastningen (spesielt når du er på delt hosting). Nettstedet ditt vil bli veldig sakte, og for noen brukere kan du selv sende ut feilen. Så det beste du bør gjøre er å komme på telefon eller livechat med din hosting leverandør og spørre om din MySQL-server er oppe eller nede.

For de brukerne som vil teste om MySQL-serveren kjører, kan du gjøre dette på flere måter. Test andre nettsteder på samme server for å se om de har problemet. Hvis de også får den samme feilen, så er det absolutt noe feil med MySQL-serveren. Hvis du ikke har noe annet nettsted på den samme serveren, går du ganske enkelt til cPanel og prøver å få tilgang til phpMyAdmin og koble til databasen. Hvis du kan koble til, må du verifisere om databasebrukeren din har tilstrekkelig tillatelse. Opprett en ny fil kalt tilkobling.php og lim inn følgende kode i den:

<?php
$link = mysqli_connect('localhost', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>

Pass på at du erstatter brukernavnet og passordet. Hvis scriptet klarer å koble til, betyr det at brukeren din har tilstrekkelig tillatelse, og det er noe annet som er feil. Gå tilbake til wp-config.php-filen for å forsikre deg om at alt er riktig (sjekk igjen for typoer).

Hvis du ikke kan koble til databasen ved å gå til phpMyAdmin, vet du at det er noe med serveren din. Det betyr ikke nødvendigvis at MySQL-serveren er nede. Det kan bety at brukeren ikke har tilstrekkelig tillatelse.

Så hvis du får tilgang nektet feil i enten å koble til phpMyAdmin eller gjennom tilkobling.php resultater, bør du kontakte din leverandør umiddelbart for å få dem til å fikse det.

Jeg har lest på mange nettsteder at brukerne bare lastet opp en ny kopi av WordPress og det løste feilen. Husk da og IKKE erstatte uploads mappen din da ALLE bildene dine da vil bli slettet.

Det er og i skjeldne tilfeller at en plugin gir denne feilen. Da kan du endre navn på mappen «plugins» til for eksempel «plugins1» via FTP eller cPanel. Dette løser i noen tilfeller feilen.

Dette er en veldig frustrerende feil som kan ha mange årsaker og hver årsak har sin løsning. Hva har du prøvd som syntes å virke for deg? Jeg vil gjerneutvide denne ressursen, slik at andre ikke trenger å kaste bort så mye tid på å finne en løsning.

 

Hvordan endre WordPress databaseprefikset å forbedre sikkerheten

WordPress databasen er som en hjerne for hele WordPress området fordi hver eneste informasjonen er lagret i det og dermed gjør det hacker favoritt mål. Spammere og hackere kjører automatiserte koder for SQL-injeksjoner. Vel, dessverre mange som glemmer å endre databasen prefikset mens de installerer WordPress. Dette gjør det enklere for hackere å planlegge en masse angrep ved å målrette standardprefikset wp_. Den smarteste måten du kan beskytte databasen ved er å endre databaseprefikset som er veldig lett å gjøre på et nettsted som du setter opp. Men det tar noen skritt for å endre WordPress database prefiks riktig for ditt etablerte nettstedet uten helt rote det opp.

Forberedelse

Vi anbefaler at du sikkerhetskopierer WordPress Database før du utfører noe foreslo i denne opplæringen. Det er viktig å holde daglige sikkerhetskopier av nettstedet ditt. Neste vi anbefaler er at du viderekobler besøkende til en midlertidig vedlikeholdsside.

Endring i tabellprefikset i wp-config.php

Åpne din wp-config.php filen som ligger i din WordPress rotkatalogen. Endre tabellen prefikset linjen fra wp_ til noe annet som dette wp_a123456_

Så linjen vil se slik ut:
[php]$table_prefix = ‘wp_a123456_’;[/php]
Merk: Du kan bare endre det til tall, bokstaver og understrek. Føl deg fri til å blande store og små bokstaver.

Endre alle database tabellenes navn

Du må få tilgang til databasen (mest sannsynlig via phpMyAdmin), og deretter endre tabellen navnene til den vi er angitt i wp-config.php filen. Hvis du bruker cPanel WordPress hosting, så kan du finne phpMyAdmin koblingen i cPanel din. Se på bildet nedenfor:

phpMyAdmin

Det er i alt 11 standard WordPress tabeller, så å endre dem manuelt ville være smerte.

SQL Query

Det er derfor å gjøre ting raskere, har jeg en SQL-spørring som du kan bruke.

[php]RENAME table `wp_commentmeta` TO `wp_a123456_commentmeta`;
RENAME table `wp_comments` TO `wp_a123456_comments`;
RENAME table `wp_links` TO `wp_a123456_links`;
RENAME table `wp_options` TO `wp_a123456_options`;
RENAME table `wp_postmeta` TO `wp_a123456_postmeta`;
RENAME table `wp_posts` TO `wp_a123456_posts`;
RENAME table `wp_terms` TO `wp_a123456_terms`;
RENAME table `wp_term_relationships` TO `wp_a123456_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_a123456_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_a123456_usermeta`;
RENAME table `wp_users` TO `wp_a123456_users`;[/php]
Du må kanskje legge til linjer for andre plugins som kan legge til sine egne tabeller i WordPress database. Tanken er at du endrer alle bord prefiks til den du ønsker.

Optionstabellen

Vi trenger å søke alternativene tabellen for andre felt som bruker wp_ som et prefiks, slik at vi kan erstatte dem. For å lette opp prosessen, bruke denne spørringen:
[php]SELECT * FROM `wp_a123456_options` WHERE `option_name` LIKE ‘%wp_%'[/php]
Dette vil returnere mange resultater, og du trenger å gå en etter en til å endre disse linjene.

UserMeta tabellen

Deretter må vi søke i usermeta for alle felt som bruker wp_ som et prefiks, slik at vi kan erstatte den. Bruk denne SQL spørring for at:
[php]SELECT * FROM `wp_a123456_usermeta` WHERE `meta_key` LIKE ‘%wp_%'[/php]
Antall oppføringer kan variere på hvor mange plugins du bruker og slikt. Bare endre alt som har wp_ til det nye prefikset.

Backup og Ferdig

Du er nå klar til å teste nettstedet. Hvis du har fulgt fremgangsmåten ovenfor, skal da alt virke fint. Nå, bør du ta en ny sikkerhetskopi av databasen din for å være på den sikre siden.