Ce message est le même que le mot de passe soit faux, que le serveur soit arrêté, que le disque soit plein ou que la limite de connexions soit atteinte. Deviner entre quatre est plus lent que tester, et le test tient en une commande.
Testez les identifiants, pas le site
mysql -u dbuser -p -h localhost dbname
- Access denied for user — mauvais utilisateur ou mauvais mot de passe, ou l'utilisateur n'a aucun droit sur cette base.
- Can't connect to local MySQL server — le service ne tourne pas.
- Unknown database — le nom est faux, ou la base n'a jamais été créée sur ce serveur.
- Too many connections — la limite est atteinte.
Accès refusé
Lisez les identifiants que le site utilise réellement — pas ceux dont vous vous souvenez.
grep -E "DB_NAME|DB_USER|DB_PASSWORD|DB_HOST" wp-config.php
Un mot de passe contenant une apostrophe ou une barre oblique inverse est une cause fréquente : il est juste dans le panneau et faux dans le fichier, parce que l'échappement s'est perdu.
Le service ne tourne pas
systemctl status mariadb
systemctl start mariadb
journalctl -u mariadb --since "30 min ago" | tail -30
S'il démarre puis s'arrête aussitôt, le journal nomme la raison. Un disque plein et une table corrompue sont les deux habituelles.
Trop de connexions
SHOW STATUS LIKE 'Threads_connected';
SHOW VARIABLES LIKE 'max_connections';
Après un déménagement
Une base déplacée sur un autre serveur demande en général de changer DB_HOST de localhost vers une adresse, et un utilisateur autorisé depuis cette adresse plutôt que depuis localhost.