Cara Memperbaiki Error Establishing a Database Connection di WordPress

By | Oktober 21, 2019

Jika sobat telah menjelajahi web untuk sementara waktu, sobat setidaknya telah melihat error ini beberapa kali. Error Establishing a Database Connection adalah salah satu kutukan yang dapat disebabkan oleh banyak alasan. Sebagai pemula WordPress, ini bisa sangat membuat frustrasi khususnya ketika itu terjadi sendiri tanpa sobat mengubah apa pun.

Kami mengalami masalah ini kemarin di situs kami sendiri. Butuh setidaknya 20 menit untuk mendeteksi dan memperbaiki masalah. Saat melakukan penelitian untuk menemukan kemungkinan penyebabnya, kami menyadari bahwa tidak ada artikel bagus yang membahas semuanya.

Pada artikel ini, kami akan menunjukkan kepada sobat bagaimana cara memperbaiki Error Establishing a Database Connection di WordPress dengan menyusun daftar solusi semua di satu tempat.

Catatan: Sebelum sobat membuat perubahan database, pastikan sobat memiliki cadangan yang memadai.

Mengapa sobat mendapatkan error ini?

Singkatnya, sobat mendapatkan error ini karena WordPress tidak dapat membuat koneksi database. Sekarang alasan mengapa WordPress tidak dapat membuat koneksi database dapat bervariasi.

Bisa jadi kredensial info login/masuk database sobat salah atau telah diubah. Bisa jadi server database sobat tidak responsif. Bisa jadi database sobat sudah rusak.

Dalam pengalaman kami, sebagian besar kesalahan ini terjadi karena beberapa jenis kesalahan server namun ada faktor lain juga. Mari kita lihat bagaimana cara mengatasi masalah ini.

Apakah masalah terjadi untuk /wp-admin/ juga?

Hal pertama yang harus sobat lakukan adalah memastikan bahwa sobat mendapatkan error/kesalahan yang sama di bagian depan situs, dan bagian belakang situs (wp-admin). Jika pesan kesalahannya sama di kedua halaman “Error Establishing a Database Connection”, maka lanjutkan ke langkah berikutnya.

Jika sobat mendapatkan kesalahan yang berbeda pada wp-admin misalnya sesuatu seperti “One or more database tables are unavailable. The database may need to be repaired”, maka sobat perlu memperbaiki database.

Sobat dapat melakukan ini dengan menambahkan baris berikut di file wp-config.php. Tambahkan tepat sebelum baris “That’s all, stop editing! Happy blogging” di wp-config.php.

define('WP_ALLOW_REPAIR', true);

Setelah melakukannya, sobat dapat melihat pengaturan dengan mengunjungi halaman ini: http://www.situskamu.com/wp-admin/maint/repair.php

Note: ‘situskamu’ ganti dengan url situs sobat.

Ingat, pengguna tidak perlu masuk untuk mengakses fungsi ini ketika definisi ini disetel. Ini karena maksud utamanya adalah untuk memperbaiki database yang rusak, Pengguna sering kali tidak dapat login ketika database rusak. Jadi, begitu sobat selesai memperbaiki dan mengoptimalkan database, pastikan untuk menghapus ini dari wp-config.php sobat.

Jika cara  ini tidak memperbaiki masalah, maka lanjutkan membaca artikel ini karena mungkin sobat menemukan solusi lain yang bekerja.

Memeriksa file WP-Config

WP-Config.php mungkin merupakan satu-satunya file terpenting dalam seluruh instalasi WordPress. Di sinilah sobat menentukan detail untuk WordPress untuk menghubungkan database. Jika sobat mengubah kata sandi root, atau kata sandi pengguna database, maka sobat harus mengubah file ini juga. Hal pertama yang harus selalu sobat periksa adalah apakah semua yang ada di file wp-config.php sobat sama.

define('DB_NAME', 'database-name');
define('DB_USER', 'database-username');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost');

Ingat nilai DB_Host sobat mungkin tidak selalu menjadi localhost. Tergantung pada host, itu akan berbeda. Untuk host populer seperti HostGator, BlueHost, SiteGround, ini adalah localhost.

Beberapa orang menyarankan agar mereka memperbaiki masalah mereka dengan mengganti localhost dengan IP. Adalah umum untuk melihat masalah seperti ini ketika menjalankan WordPress di lingkungan server lokal. Misalnya pada MAMP, nilai DB_Host ketika diubah ke IP tampaknya berfungsi.

define('DB_HOST', '127.0.0.1:8889');

IP akan bervariasi untuk layanan hosting web online.

Jika semua yang ada di file ini benar (pastikan sobat memeriksa kesalahan ketik), maka cukup adil untuk mengatakan bahwa ada sesuatu yang salah di ujung server.

Periksa Web Host (Server MySQL)

Seringkali sobat akan melihat kesalahan ini dalam membuat koneksi database ketika situs sobat dipenuhi dengan banyak lalu lintas. Pada dasarnya, server host sobat tidak dapat menangani beban (khususnya ketika sobat menggunakan shared hosting).

Situs sobat akan menjadi sangat lambat dan untuk beberapa pengguna bahkan menghasilkan error. Jadi hal terbaik yang harus sobat lakukan adalah menghubungi atau livechat dengan penyedia hosting sobat dan tanyakan apakah server MySQL sobat responsif.

Bagi pengguna yang ingin menguji apakah server MySQL berjalan sendiri, sobat dapat melakukan beberapa hal. Uji situs lain di server yang sama untuk melihat apakah mereka mengalami masalah. Jika mereka juga mendapatkan error yang sama, maka pasti ada yang salah dengan server MySQL sobat.

Jika Anda tidak memiliki situs lain di akun hosting yang sama ini, buka saja cPanel dan coba akses phpMyAdmin dan hubungkan database. Jika sobat dapat terhubung, maka kami perlu memverifikasi apakah pengguna database sobat memiliki izin yang memadai. Buat file baru bernama testconnection.php dan rekatkan kode berikut di dalamnya:

<?php
$link = mysqli_connect('localhost', 'username', 'password');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>

Pastikan untuk mengganti nama pengguna dan kata sandi. Jika skrip terhubung dengan sukses, berarti pengguna sobat memiliki izin yang memadai, dan ada hal lain yang salah. Kembali ke file wp-config untuk memastikan semuanya sudah benar (pindai ulang kesalahan ketik).

Jika sobat tidak dapat terhubung ke database dengan masuk ke phpMyAdmin, maka sobat tahu itu adalah sesuatu dengan server sobat. Itu tidak selalu berarti bahwa server MySQL sobat sedang down. Ini bisa berarti bahwa pengguna sobat tidak memiliki izin yang memadai.

Dalam kasus kami, server MySQL kami sedang berjalan. Semua situs lain di server berfungsi dengan baik kecuali untuk JangKlik. Ketika kami mencoba membuka phpMyAdmin kami, kami akhirnya mendapatkan kesalahan:

#1045 – Access denied for user ‘foo’@’%’ (using password: YES)

Kami mendapat telepon dari HostGator dan dukungan mereka dengan cepat menemukan masalah. Entah bagaimana izin pengguna kami diatur ulang. Tidak yakin bagaimana itu terjadi, tetapi ternyata itulah alasannya. Mereka masuk kembali dan mengembalikan izin dan kami bisa menghidupkan kembali situs tersebut.

Jadi, jika sobat mendapatkan kesalahan akses ditolak baik dalam menghubungkan ke phpMyAdmin sobat atau melalui hasil testconnection.php, maka sobat harus segera menghubungi penyedia hosting sobat untuk membuatnya memperbaikinya.

Solusi yang Berfungsi untuk Orang Lain

Penting untuk dicatat, bahwa ini mungkin tidak cocok untuk sobat. Gunakan dengan risiko sobat sendiri dan pastikan bahwa sobat memiliki backup/cadangan yang memadai jika terjadi error.

Deepak Mittal mengatakan bahwa kliennya mendapatkan error bahwa database perlu diperbaiki. Bahkan setelah memperbaiki database, error-nya tidak hilang. Dia mencoba berbagai hal dan pada akhirnya, masalahnya adalah situs url. Rupanya itu berubah yang menyebabkan kesalahan berlanjut. Dia menjalankan kueri SQL dengan membuka phpMyAdmin:

UPDATE wp_options SET option_value='YOUR_SITE_URL' WHERE option_name='siteurl'

Pastikan untuk mengganti YOUR_SITE_URL dengan contoh url yang sebenarnya: https://www.jangklik.com.

wp_options akan berbeda jika sobat telah mengubah awalan database WordPress default.

Ini sepertinya memperbaiki masalah untuknya dan beberapa orang lain yang mengomentari posnya juga.

Sachinum menyarankan agar ia dapat menghubungkan database dengan testconnection.php, jadi ia mengubah pengguna wp-config.php menjadi pengguna root. WordPress mulai bekerja dengan baik. Kemudian dia mengembalikan pengaturan ke pengguna database, dan itu terus bekerja. Dia tidak dapat menemukan apa yang salah, tetapi menyimpulkan bahwa itu adalah kesalahan ketik.

Cutewonders menyarankan agar mereka menghapus konten active_plugins di tabel wp_options dan mengedit konten yang baru saja diedit. Pada dasarnya itu sepertinya memperbaiki masalah.

Yap itulah beberapa cara yang diharapkan bisa membantu sobat memperbaiki Error Establishing a Database Connection di WordPress.