Pesan ini sama saja entah kata sandinya salah, servernya mati, cakramnya penuh, atau batas sambungannya tercapai. Menebak di antara empat kemungkinan lebih lambat daripada menguji, dan ujinya hanya satu perintah.
Uji kredensialnya, bukan situsnya
mysql -u dbuser -p -h localhost dbname
- Access denied for user — pengguna atau kata sandi salah, atau penggunanya tidak punya hak pada basis data itu.
- Can't connect to local MySQL server — layanannya tidak berjalan.
- Unknown database — namanya salah, atau basis datanya memang tidak pernah dibuat di server ini.
- Too many connections — batasnya tercapai.
Akses ditolak
Bacalah kredensial yang benar-benar dipakai situs itu — bukan yang Anda ingat.
grep -E "DB_NAME|DB_USER|DB_PASSWORD|DB_HOST" wp-config.php
Kata sandi yang mengandung tanda kutip atau garis miring terbalik adalah sebab yang lazim: benar di panel dan salah di berkas, karena pelolosan karakternya hilang.
Layanannya tidak berjalan
systemctl status mariadb
systemctl start mariadb
journalctl -u mariadb --since "30 min ago" | tail -30
Kalau ia menyala lalu mati lagi, lognya menyebut sebabnya. Cakram penuh dan tabel yang rusak adalah dua sebab yang biasa.
Terlalu banyak sambungan
SHOW STATUS LIKE 'Threads_connected';
SHOW VARIABLES LIKE 'max_connections';
Setelah pemindahan
Basis data yang dipindahkan ke server lain biasanya menuntut DB_HOST diubah dari localhost menjadi sebuah alamat, dan pengguna yang diberi hak dari alamat itu, bukan dari localhost.