Questo messaggio è identico che la password sia sbagliata, che il server sia fermo, che il disco sia pieno o che il limite di connessioni sia stato raggiunto. Indovinare fra quattro è più lento che provare, e la prova è un solo comando.
Prova le credenziali, non il sito
mysql -u dbuser -p -h localhost dbname
- Access denied for user — utente o password sbagliati, oppure l'utente non ha permessi su quel database.
- Can't connect to local MySQL server — il servizio non è in esecuzione.
- Unknown database — il nome è sbagliato, oppure il database su questo server non è mai stato creato.
- Too many connections — il limite è stato raggiunto.
Accesso negato
Leggi le credenziali che il sito usa davvero, non quelle che ricordi.
grep -E "DB_NAME|DB_USER|DB_PASSWORD|DB_HOST" wp-config.php
Una password che contiene un apice o una barra rovesciata è una causa frequente: nel pannello è giusta e nel file è sbagliata, perché la protezione dei caratteri è andata perduta.
Il servizio non è in esecuzione
systemctl status mariadb
systemctl start mariadb
journalctl -u mariadb --since "30 min ago" | tail -30
Se parte e si ferma subito, il registro nomina il motivo. Un disco pieno e una tabella danneggiata sono i due soliti.
Troppe connessioni
SHOW STATUS LIKE 'Threads_connected';
SHOW VARIABLES LIKE 'max_connections';
Dopo un trasloco
Un database spostato su un altro server richiede di solito che DB_HOST passi da localhost a un indirizzo, e un utente autorizzato da quell'indirizzo anziché da localhost.