Gejala & Penyebab Eror "Error Establishing a Database Connection" pada WordPress
Pesan kesalahan "Error Establishing a Database Connection" terjadi saat web server PHP WordPress gagal melakukan autentikasi atau membuat koneksi ke server database MySQL/MariaDB. Akibatnya, seluruh halaman website tidak dapat diakses dan menampilkan pesan eror polos tersebut.
Berdasarkan investigasi teknis dari tim engineer AN Media Jember, ada 4 penyebab teknis utama dibalik eror ini:
- Kredensial Database pada `wp-config.php` Mismatch: Nama database, username, atau password database di file konfigurasi berubah atau salah ketik.
- Service MySQL / MariaDB Server Down: Layanan database di server web mengalami crash akibat kehabisan alokasi RAM (Out Of Memory / OOM Killer).
- Tabel Database WordPress Corrupt: Berkas tabel database (seperti `wp_options` atau `wp_posts`) mengalami kerusakan akibat kejatuhan daya listrik atau gangguan proses penulisan data.
- Batas Koneksi Database Terlampaui (Max Connections Reached): Jumlah koneksi simultan pengguna melampaui batas parameter
max_connectionspada MySQL.
“Isolasi error koneksi database WordPress harus dimulai dari validasi kredensial wp-config.php, pengecekan status service MySQL, hingga perbaikan struktur tabel database.” — Tim Tech & Infrastructure AN Media Jember
Langkah 1: Verifikasi Kredensial Database pada Berkas wp-config.php
Masuk ke direktori WordPress Anda via SSH atau Terminal cPanel, lalu buka berkas wp-config.php:
cd /var/www/html/wordpress
nano wp-config.php
Periksa 4 konstanta konfigurasi database berikut:
// Pastikan 4 baris kredensial berikut 100% tepat:
define('DB_NAME', 'nama_database_anda');
define('DB_USER', 'username_db_anda');
define('DB_PASSWORD', 'password_db_anda');
define('DB_HOST', 'localhost'); // atau '127.0.0.1:3306'
Langkah 2: Uji Koneksi Database via Terminal CLI
Buka terminal server dan uji apakah username & password database di `wp-config.php` dapat digunakan untuk masuk ke MySQL:
mysql -u username_db_anda -p -h localhost nama_database_anda
Jika muncul pesan Access denied for user, berarti password atau username database pada `wp-config.php` tidak cocok. Buat ulang password user database di cPanel / MySQL CLI dan perbarui file `wp-config.php` Anda.
Langkah 3: Periksa & Restart Service MySQL / MariaDB
Jika perintah login MySQL gagal dengan pesan Can't connect to local MySQL server through socket, berarti service MySQL di server Anda sedang mati (down).
Jalankan perintah berikut pada SSH root:
# Cek status service MySQL
sudo systemctl status mysql
# Restart service MySQL / MariaDB
sudo systemctl restart mysql
# Atau untuk MariaDB:
sudo systemctl restart mariadb
Langkah 4: Jalankan Fitur Perbaikan Tabel Database WordPress (WP_ALLOW_REPAIR)
Jika halaman utama website menampilkan "Error Establishing...", tetapi halaman admin `/wp-admin` menampilkan pesan *"One or more database tables are unavailable"*, berarti tabel database Anda mengalami kerusakan (corrupt).
- Buka `wp-config.php` dan tambahkan baris berikut sebelum baris `/* That's all, stop editing! */`:
define('WP_ALLOW_REPAIR', true); - Buka browser dan akses URL perbaikan otomatis WordPress:
http://domainanda.com/wp-admin/maint/repair.php - Klik tombol Repair and Optimize Database.
- Setelah selesai, HAPUS kembali baris
define('WP_ALLOW_REPAIR', true);dari `wp-config.php` demi alasan keamanan.
Langkah 5: Periksa Hak Akses & Host Permission User MySQL
Pastikan user database memiliki izin penuh (GRANT ALL) ke database WordPress Anda. Jalankan perintah SQL berikut di MySQL CLI:
GRANT ALL PRIVILEGES ON nama_database_anda.* TO 'username_db_anda'@'localhost';
FLUSH PRIVILEGES;
Rangkuman Checklist Pemecahan Masalah Koneksi Database WordPress
- Cocokkan DB_NAME, DB_USER, DB_PASSWORD di `wp-config.php`.
- Uji login via CLI `mysql -u user -p`.
- Restart service MySQL (`sudo systemctl restart mysql`).
- Gunakan `define('WP_ALLOW_REPAIR', true);` untuk perbaikan tabel corrupt.
- Berikan hak akses `GRANT ALL PRIVILEGES` pada user database.
Kesimpulan & Layanan Repair Server AN Media
Memahami urutan diagnosis Error Establishing a Database Connection memastikan website Anda kembali online dalam hitungan menit. Jika website atau server WordPress Anda membutuhkan **Jasa Maintenance Website, Penanganan Downtime, & Tuning Database MySQL di Jember**, tim engineer **AN Media** siap membantu 24/7!