Webstick.nl logo Webdesignburo en Wordpress-blog

Database verbindingsfout in Wordpress oplossen

Database verbindingsfout in Wordpress

Als je al een tijdje op internet surft, heb je deze fout in ieder geval een paar keer gezien. Fout bij het tot stand brengen van een databaseverbinding is een van die vloeken die door vele redenen kunnen worden veroorzaakt. Als een WordPress-beginner kan dit heel frustrerend zijn, vooral wanneer het op zichzelf gebeurde zonder dat je iets veranderde. We kwamen gisteren deze kwestie tegen op onze eigen site. Het kostte iets meer dan 20 minuten om het probleem te detecteren en op te lossen.

Tijdens het onderzoek om mogelijke oorzaken te vinden, realiseerden we ons dat er geen goed artikel was dat alles omvatte. In dit artikel laten we u zien hoe u de fout verhelpt bij het tot stand brengen van een databaseverbinding in WordPress door een lijst met oplossingen allemaal op één plaats samen te stellen.

Belangrijk: zorg ervoor dat u voldoende back-ups hebt voordat u wijzigingen in de database aanbrengt.

Waar komt de fout vandaan?

Kortom, u krijgt deze fout omdat WordPress geen databaseverbinding tot stand kan brengen. Nu kan de reden waarom WordPress geen databaseverbinding op kan bouwen variëren. Het kan zijn dat de inloggegevens van uw database onjuist zijn of zijn gewijzigd. Het kan zijn dat uw databaseserver niet reageert. Het kan zijn dat uw database is beschadigd. In onze ervaring, gebeurt deze fout meestal vanwege een of andere serverfout, maar er kunnen ook andere factoren zijn. Laten we eens kijken hoe we dit probleem kunnen oplossen.

Komt het probleem ook voor op ./wp-admin/ ?

Allereerst moet u ervoor zorgen dat u dezelfde foutmelding krijgt aan de voorkant van de site als aan de achterkant van de site (wp-admin). Als het foutbericht op beide pagina's hetzelfde is: "Fout bij het tot stand brengen van een databaseverbinding", ga dan verder met de volgende stap. Als u een andere fout op de wp-admin krijgt, bijvoorbeeld "Een of meer databasetabellen zijn niet beschikbaar. De database moet mogelijk worden gerepareerd", dan moet je je database repareren. U kunt dit doen door de volgende regel toe te voegen aan uw wp-config.php bestand. Voeg het toe vlak voor "Dat is alles, stop met bewerken! Happy blogging" line in wp-config.php.

define('WP_ALLOW_REPAIR', true);

Als je dat hebt gedaan, kun je de instellingen bekijken door deze pagina te bezoeken: http://www.je-website.nl/wp-admin/maint/repair.php

Wordpress database repareren

Vergeet niet dat de gebruiker niet aangemeld hoeft te zijn om toegang tot deze functionaliteit te krijgen wanneer deze definitie is ingesteld in wp-config.php. Dit komt omdat het hoofddoel is om een beschadigde database te herstellen. Gebruikers kunnen vaak niet inloggen als de database corrupt is. Dus als je klaar bent met het repareren en optimaliseren van je database, zorg er dan voor dat je deze instelling weer verwijdert van je wp-config.php. Als het probleem door deze reparatie niet is opgelost of als u problemen ondervindt bij het uitvoeren van de reparatie, leest u dit artikel verder, omdat u misschien een andere oplossing vindt die het probleem wel oplost.

Het wp-config.php bestand controleren

Het wp-config.php bestand is waarschijnlijk het allerbelangrijkste bestand in uw gehele WordPress-installatie. Hier geeft u de details op voor WordPress om uw database te verbinden. Als u uw root-wachtwoord of het gebruikerswachtwoord van de database hebt gewijzigd, moet u dit bestand ook wijzigen. Het eerste dat u altijd moet controleren, is of alles in uw wp-config.php-bestand hetzelfde is.

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

Onthoud dat uw DB_Host-waarde niet altijd localhost is. Afhankelijk van de host, zal het soms anders zijn. Sommige mensen hebben gesuggereerd dat ze hun probleem hebben opgelost door localhost te vervangen door het IP-adres. Het is normaal om dit soort problemen tegen te komen bij het uitvoeren van WordPress op een lokale serveromgeving (op uw PC zelf). Bijvoorbeeld op MAMP lijkt de DB_Host-waarde bij wijziging naar de IP mogelijk te werken.

define('DB_HOST', '127.0.0.1:8889');

IP's zullen variëren voor de verschillende online webhosting services. Als alles in dit bestand correct is (controleer dan op typfouten), dan is het aannemelijk om te zeggen dat er iets mis is aan de serverzijde.

Controleer uw Web Host (MySQL Server)

Vaak zult u deze fout opmerken bij het tot stand brengen van een databaseverbinding wanneer uw site wordt overspoeld met veel verkeer. Kortom, uw hostserver kan de belasting gewoon niet aan (vooral wanneer u op shared hosting bent). Uw site zal erg traag worden en voor sommige gebruikers wordt zelfs de fout weergegeven. Dus het beste dat u moet doen, is telefoneren of livechatten met uw hostingprovider en vragen of uw MySQL-server reageert.

Voor die gebruikers die zelf willen testen of de MySQL-server draait, kun je een paar dingen doen. Test andere sites op dezelfde server om te zien of ze hetzelfde probleem hebben. Als ze ook dezelfde foutmelding krijgen, is er zeker iets mis met je MySQL-server. Als u geen andere site op hetzelfde hosting-account hebt, gaat u gewoon naar uw cPanel en probeert u phpMyAdmin te openen en de database aan te sluiten. Als u verbinding kunt maken, moeten we controleren of uw databasegebruiker voldoende toestemming heeft. Maak een nieuw bestand met de naam testconnection.php en plak de volgende code erin:

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

Zorg ervoor dat je de gebruikersnaam en het wachtwoord vervangt. Als het script met succes is verbonden, betekent dit dat uw gebruiker voldoende toestemming heeft en dat er iets anders mis is. Ga terug naar je wp-config-bestand om te controleren of alles correct is (opnieuw scannen op typefouten). Als u geen verbinding kunt maken met de database door naar phpMyAdmin te gaan, weet u dat dit iets is met uw server. Dit betekent niet noodzakelijk dat uw MySQL-server down is. Dit kan betekenen dat uw gebruiker niet over voldoende rechten beschikt.

Veel problemen en ergernis kunnen eenvoudig voorkomen worden door een goede eigen server te leasen, wat bij een hostingbedrijf als Contabo goed betaalbaar is. Het hebben van een VPS is nog altijd niet optimaal omdat dit in principe ook "shared" is en u nog steeds een server deelt met vele andere gebruikers.



Tip: Bouw je website met Wordpress theme DIVI met de wereldwijd beste pagebuilder, 600.000x verkocht!

Divi