Wanneer u de fout ‘Error Establishing a Database Connection‘ krijgt kan WordPress niet met de database verbinden. Hier kunnen verschillende redenen voor zijn. Veel voorkomende redenen zijn:
– De gegevens van de database of de database user zijn incorrect.
– De database server reageert niet
– De database is corrupted.
Is de database corrupted?
Om te achterhalen wat het probleem is kunnen we eerst kijken of het probleem zowel in de frontend (uw website) als in de backend (de administratie) bestaat. Wanneer u bij het laden van de website en bij het laden van https://uwsite.nl/wp-admin dezelfde error krijgt kunt u naar de volgende stap gaan. Waneer u een verschillende error krijgt, bijvoorbeeld ‘One or more database tables are unavailable. The database may need to be repaired’ is de database beschadigd en dient deze gerepareerd te worden.
Je kunt dit doen door de volgende regel in jouw wp-config.php bestand te plaatsen. Voeg dit net voor de ‘/* That’s all, stop editing! Happy blogging. */’ regel in wp-config.php.
define ( ‘WP_ALLOW_REPAIR’ , true);
Wanneer u dit toegevoegd heeft opent u nu de pagina:
http://www.uwsite.nl/wp-admin/maint/repair.php
U hoeft niet ingelogd te zijn om deze functionaliteit te gebruiken wanneer deze define op true staat zoals hierboven. Dit is omdat het bedoeld is om de databases te repareren, gebruikers kunnen regelmatig niet inloggen wanneer de database beschadigd is. Wanneer het repareren en optimaliseren van de databases afgerond is, moet u daarom niet vergeten om deze regel weer uit wp-config te verwijderen.
Indien dit niet help moeten we gaan kijken naar een andere oplossing.
Controleren van het wp-config.php bestand
Een andere reden kan zijn dat de gegevens van de database verkeerd in wp-config.php staan. In wp-config.php kunt u de database gegevens vinden in deze regels.
define(‘DB_NAME’, ‘database-name’); (dit is de database naam)
define(‘DB_USER’, ‘database-username’); (dit is de naam van de gebruiker gekoppeld aan de database)
define(‘DB_PASSWORD’, ‘database-password’); (dit is het wachtwoord van de gebruiker)
define(‘DB_HOST’, ‘localhost’); (de database hsot hoort op localhost te staan)
Controleert u eerst op typefouten. Een database en username bestaan altijd uit een gebruikersnaam van uw account bij de host en een naam van de database gescheiden met een laag streepje (_). Dit eerste deel kunt u sowieso niet wijzigen bij het aanmaken van een database en een gebruiker. Controleert in cpanel wat de naam van de database en de gebruiker zijn door in te loggen op cPanel en dan te gaan naar ‘databases’ -> ‘mysql databases’. Hier ziet u alle databases en gebruikers. Indien u niet zeker weet of het wachtwoord klopt kunt u er voor kiezen om deze onderaan bij gebruikers te wijzigen.
Is de database server online en heb ik voldoende rechten:
Uiteraard worden alle services zoals de database server gecontroleerd of ze naar behoren draaien maar mocht u twijfelen of dit het probleem is, kunt u eerst kijken of uw andere websites werken. Werken deze perfect dan kunt u er vanuit gaan dat de services gewoon draaien. Indien u geen andere sites heeft kunt u inloggen op cPanel en kijken bij ‘databases’->’myphpadmin’. Kunt u hier gewoon inloggen dan kunt u er ook vanuit gaan dat de database server geen problemen hebben.
Dan kunnen we tenslotte nog kijken of u voldoende rechten heeft voor de database. Maak een bestand aan en noem deze bijvoorbeeld connectietest.php. Open deze en zet hier de volgende regels in
<?php
$link = mysql_connect(‘localhost’, ‘gebruikersnaam’, ‘wachtwoord’);
if (!$link) {
die(‘Could not connect: ‘ . mysql_error());
}
echo ‘connectie succesvol’;
mysql_close($link);
?>
Zorg dat gebruikernaam en wachtwoord correct zijn. Wanneer u dit bestand opent hoort u de melding ‘connectie succesvol’ te zien. Dan heeft u voldoende rechten.
Mochten bovenstaande oplossingen niet helpen, raden wij u aan om een ticket te openen zodat wij het probleem verder kunnen onderzoeken. Geef in het ticket aan welke stappen u reeds gevolgd heeft.