Plugin dan Thema tidak kompitableServer Database Tidak MeresponseApa Maksud dari “Error Establishing a Database Connection”?
Untuk memudahkan dalam pemahaman, perlu diketahui bahwa WordPress dibangun dari dua komponen mendasar.
Kedua komponen tersebut adalah PHP (contoh: index.php, sidebar.php dan lain-lain) dan MySQL. PHP sendiri bertugas untuk menjalankan semua fungsi di WordPress (contoh: menampilkan posting, komentar dan lain-lain) sedangkan MySQL bertugas sebagai penyimpanan data.
Mudahnya, ketika Anda mengetikkan URL website di browser dan menekan enter maka secara otomatis Anda akan mengakses file PHP dan file tersebut mengambil data dari database MySQL dan kemudian ditampilkan. Namun, MySQL tidak menyimpan gambar, video dan beberapa media lainnya melainkan di simpan di folder wp-content yang tentu dapat dipanggil dari PHP juga.
Database MySQL Anda terdiri dari semua informasi vital yang dibutuhkan PHP agar website Anda bekerja. Jadi, ketika PHP tidak dapat mengakses Database MySQL karena beberapa alasan maka Anda akan mendapatkan pesan Error Establishing a Database Connection.
Umumnya, Error Establishing a Database Connection disebebkan oleh beberapa alasan berikut diantaranya:
- Login Database tidak Tepat – kesalahan penulisan, spasi dan lain-lain dapat menyebabkan hal ini terjadi.
- Database corrupted – Plugin dan thema yang tidak memiliki struktur pengkodean yang baik serta belum teruji dapat menyebabkan terjadinya hal ini.
- Plugin dan Thema tidak kompitable
- Server Database tidak meresponse – server database down atau terlalu banyak traffic yang sedang berjalan dapat menyebabkan server mysql tidak meresponse.
Login Database tidak Tepat – Cek konfigurasi database pada wp-config.php
Hal pertama yang harus Anda lakukan jika masalah ini terjadi adalah mengecek konfigurasi database mysql pada file wp-config.php yang berada di dalam root dokumen website Anda (misalnya public_html/wp-config.php) dan pastikan detil berikut telah sesuai sama dengan database yang Anda gunakan:
define('DB_NAME', 'nama-database');
define('DB_USER', 'username-database');
define('DB_PASSWORD', 'password-database');
define('DB_HOST', 'localhost');
Penjelasan:
Pastikan Anda mengisi DB_NAME dengan nama database yang ada di akun hosting Anda, DB_USER sama dengan user database, DB_PASSWORD sama dengan password user database dan DB_HOST sama dengan hostname database Anda. Semua detil tersebut dapat Anda lihat pada kontrol panel atau cpanel akun hosting Anda. Setelah semua detil tersebut dipastikan sama, maka cobalah untuk mengecek website Anda kembali.
Jika website Anda sebelumnya normal dan tiba-tiba mengalami masalah tersebut maka hal tersebut bisa saja terjadi karena secara tidak sengaja Anda mereset password atau mengubah username cpanel (karena user database akan ikut berubah ketika anda mengubah username cpanel. Hal ini karena database dan user database umumnya dibuat dengan prefix atau awalan username cpanel) sehingga Anda harus menyesuaikannya kembali.
catatan: lebih dari 70% masalah Error Establishing A Database Connection terjadi karena detil yang salah pada wp-config.php.
Database Corrupt – Repair atau Perbaiki Database WordPress Corrupt
Jika semua detil tersebut telah dipastikan benar dan masalah belum terselesaikan, maka langkah selanjutnya adalah memperbaiki dan optimasi database karena kemungkinan selanjutnya mengapa masalah Error Establishing A Database Connection muncul karena database Anda corrupt.
Untuk melakukannya, maka bukalah file wp-config.php Anda kembali dan tambahkan baris perintah berikut pada wp-config.php Anda (Anda dapat meletakannya di bagian paling bawah sebelum kode php (?>) ditutup atau tepat dibawah perintah define lainnya) :
define('WP_ALLOW_REPAIR', true);
Setelah itu, akses url domain Anda dengan menambahkan path wp-admin/maint/repair.php
Misalnya: http://www.namadomainanda.com/wp-admin/maint/repair.php .Setelah itu, pilih menu Repair and Optimize dan cek kembali website Anda.
note: pastikan Anda segera menghapus baris perintah define( ‘WP_ALLOW_REPAIR’, true ); jika telah selesai karena semua pengunjung akan dapat mengakses url tersebut.
Plugin dan Thema tidak kompitable
Untuk mengecek hal ini, Anda dapat menonaktifkan plugin dan mengganti atau mengembailkan thema ke standard.
Nonaktifkan Plugin WordPress
Jika setelah melakukan hal tersebut dan masih belum terselesaikan maka langkah selanjutnya adalah mencoba menonaktifkan semua plugin wordpress Anda karena hal ini juga bisa disebabkan karena plugin yang konflik atau tidak kompitabel. Untuk melakukannya, maka Anda cukup mengubah folder plugins pada /wp-content/ menjadi nama lain. Misalnya menjadi:
/wp-content/plugins.bak
Setelah selesai, cobalah Anda mengecek kembali website Anda.
Kembalikan Thema WordPress ke Default
Jika setelah menonaktifkan semua plugin dan tidak bekerja maka langkah selanjutnya yang perlu dicoba adalah mengembalikan thema wordpress ke default.
Hal ini bisa saja terjadi karena thema wordpress yang Anda gunakan tidak kompitabel dengan wordpress Anda atau terdapat file-file yang tidak lengkap. Untuk melakukannya, maka Anda harus melalui phpmyadmin karena Anda tidak dapat login di admin wordpress Anda.
Untuk itu, silakan login di phpmyadmin database wordpress Anda dan kemudian pilih table wp-options dan carilah kolom template dan stylesheet. Pada Option value di baris template dan stylesheet, isikanlah sesuai dengan template wordpress default Anda. Misalnya thema defaultnya masih ada Twenty Twelve maka Anda dapat mengisikan kedua kolom tersebut ke Twenty Twelve.
Dengan begitu, thema wordpress Anda telah berubah ke Twenty Twelve. Untuk melihat daftar thema yang terinstal di wordpress Anda dapat dilihat pada folder /public_html/wp-content/themes/.
Cek Koneksi Database Server
Error establishing a database connection pada website juga bisa terjadi karena adanya masalah pada server mysql di layanan hosting atau vps yang kita gunakan. Untuk memastikan apakah masalah terjadi pada sisi server database atau bukan, maka kita dapat membuat script php sederhana berikut (buat dengan nama cek.php) dan letakkan di public_html:
<?php
$link = mysql_connect('localhost', 'username-db', 'password-db');
if (!$link) {
die('Tidak dapat terhubung database: ' . mysql_error());
}
echo 'Koneksi database sukses';
mysql_close($link);
?> read more