Bu ileti; parola yanlış olsa da, sunucu kapalı olsa da, disk dolu olsa da, bağlantı sınırına ulaşılmış olsa da aynıdır. Dört olasılık arasında tahmin yürütmek sınamaktan yavaştır ve sınama tek bir komuttur.
Siteyi değil, kimlik bilgilerini sınayın
mysql -u dbuser -p -h localhost dbname
- Access denied for user — yanlış kullanıcı ya da parola, veya kullanıcının o veritabanında yetkisi yok.
- Can't connect to local MySQL server — hizmet çalışmıyor.
- Unknown database — ad yanlış ya da veritabanı bu sunucuda hiç oluşturulmamış.
- Too many connections — sınıra ulaşılmış.
Erişim reddedildi
Sitenin gerçekten kullandığı kimlik bilgilerini okuyun — hatırladıklarınızı değil.
grep -E "DB_NAME|DB_USER|DB_PASSWORD|DB_HOST" wp-config.php
İçinde tırnak ya da ters bölü bulunan bir parola yaygın bir sebeptir: panelde doğru, dosyada yanlıştır; çünkü kaçış karakteri kaybolmuştur.
Hizmet çalışmıyor
systemctl status mariadb
systemctl start mariadb
journalctl -u mariadb --since "30 min ago" | tail -30
Başlayıp hemen duruyorsa, kayıt sebebini söyler. Dolu bir disk ve bozuk bir tablo alışılmış iki sebeptir.
Çok fazla bağlantı
SHOW STATUS LIKE 'Threads_connected';
SHOW VARIABLES LIKE 'max_connections';
Asıl sorun yavaş sorgularken max_connections'ı yükseltmek yalnızca dakika kazandırır. Her bağlantı belleğe mal olur ve belleği tükenen bir sunucu, bağlantı reddeden bir sunucudan kötüdür.
Taşımadan sonra
Başka bir sunucuya taşınmış bir veritabanı genelde DB_HOST'un localhost yerine bir adres olarak değiştirilmesini ve kullanıcıya localhost'tan değil o adresten yetki verilmesini gerektirir.
EGPHP barındırmasında kimlik bilgileri EGPNL içinde Veritabanları altındadır ve panel, sitenin kullanması gereken ana bilgisayarı gösterir. Yazmak yerine oradan kopyalayın.