Jika Anda telah menjelajahi web untuk sementara waktu, paling tidak Anda telah melihat kesalahan ini beberapa kali. Kesalahan Mendirikan Koneksi Database adalah salah satu kutukan yang bisa disebabkan oleh banyak alasan. Sebagai pemula WordPress, ini bisa sangat membuat frustrasi khususnya saat terjadi sendiri tanpa Anda mengubah apapun. Kami mengalami masalah ini kemarin di situs kami sendiri. Butuh sedikit lebih dari 20 menit untuk mendeteksi dan memperbaiki masalah. Sambil melakukan penelitian untuk menemukan kemungkinan penyebabnya, kami menyadari bahwa tidak ada artikel bagus yang meliput semuanya. Pada artikel ini, kami akan menunjukkan cara memperbaiki kesalahan dalam membuat koneksi database di WordPress dengan menyusun daftar solusi di satu tempat.
Catatan: Sebelum membuat perubahan database, pastikan Anda memiliki backup yang cukup.
Mengapa Anda mendapatkan kesalahan ini?
Singkatnya, Anda mendapatkan kesalahan ini karena WordPress tidak dapat membuat koneksi database. Kini alasan mengapa WordPress tidak bisa membuat koneksi database bisa bermacam-macam. Bisa jadi kredensial login database Anda salah atau telah diubah. Bisa jadi server database anda tidak responsif. Bisa jadi database anda sudah rusak. Menurut pengalaman kami, sebagian besar kesalahan ini terjadi karena beberapa jenis kesalahan server namun mungkin ada faktor lain juga. Mari kita lihat bagaimana mengatasi masalah ini.
Apakah masalah terjadi untuk / wp-admin / juga?
Hal pertama yang harus Anda lakukan adalah memastikan bahwa Anda mendapatkan kesalahan yang sama pada kedua front-end situs, dan back-end dari situs (wp-admin). Jika pesan kesalahan sama pada kedua halaman “Error establish a database connection”, lalu lanjutkan ke langkah selanjutnya. Jika Anda mendapatkan kesalahan yang berbeda pada wp-admin misalnya, seperti “Satu atau beberapa tabel database tidak tersedia. Database mungkin perlu diperbaiki “, maka Anda perlu memperbaiki database Anda.
Anda bisa melakukan ini dengan menambahkan baris berikut di file wp-config.php Anda. Tambahkan dulu “Itu saja, berhenti mengedit! Selamat ngeblog ‘ baris wp-config.php
define ('WP_ALLOW_REPAIR', true);
Setelah Anda selesai melakukannya, Anda dapat melihat pengaturannya dengan mengunjungi halaman ini: https://www.yoursite.com/wp-admin/maint/repair.php
Ingat, pengguna tidak perlu masuk log untuk mengakses fungsi ini saat definisi ini ditetapkan. Ini karena maksud utamanya adalah untuk memperbaiki database yang rusak, User seringkali tidak bisa login saat database corrupt. Jadi setelah selesai memperbaiki dan mengoptimalkan database anda, pastikan untuk menghapusnya dari wp-config.php anda.
Jika perbaikan ini tidak memperbaiki masalah, atau Anda mengalami masalah dalam menjalankan perbaikan maka lanjutkan membaca artikel ini karena Anda mungkin menemukan solusi lain untuk bekerja.
Memeriksa file WP-Config
WP-Config.php mungkin satu-satunya file terpenting di seluruh instalasi WordPress Anda. Di sinilah Anda menentukan rincian untuk WordPress untuk menghubungkan database Anda. Jika Anda mengganti kata sandi root Anda, atau kata sandi pengguna database, maka Anda perlu mengganti file ini juga. Hal pertama yang harus selalu Anda periksa adalah jika semuanya ada di file wp-config.php Anda sama.
define ('DB_NAME', 'database-name'); define ('DB_USER', 'database-username'); define ('DB_PASSWORD', 'database-password'); define ('DB_HOST', 'localhost');
Ingat nilai DB_Host Anda mungkin tidak selalu menjadi localhost. Bergantung pada tuan rumah, akan berbeda. Untuk host populer seperti HostGator, BlueHost, Site5, ini adalah localhost. Anda dapat menemukan nilai host lainnya di sini.
Beberapa orang menyarankan agar mereka memperbaiki masalah mereka dengan mengganti localhost dengan IP. Hal ini umum untuk melihat masalah semacam ini saat menjalankan WordPress di lingkungan server lokal. Sebagai contoh pada MAMP, nilai DB_Host saat diubah menjadi IP sepertinya bisa bekerja.
define ('DB_HOST', '127.0.0.1:8889');
IP akan bervariasi untuk layanan web hosting online.
Jika semuanya dalam file ini benar (pastikan Anda memeriksa kesalahan ketik), maka wajar jika dikatakan ada yang tidak beres di server.
Periksa Web Host Anda (Server MySQL)
Seringkali Anda akan melihat Error ini membuat koneksi database saat situs Anda diserbu dengan banyak lalu lintas. Pada dasarnya, server host Anda tidak dapat menangani beban (khususnya saat Anda berada di shared hosting). Situs Anda akan menjadi sangat lambat dan bagi beberapa pengguna bahkan mengeluarkan kesalahan. Jadi hal terbaik yang harus Anda lakukan adalah naik telepon atau livechat dengan penyedia hosting Anda dan tanyakan apakah server MySQL Anda responsif.
Bagi pengguna yang ingin menguji apakah server MySQL berjalan sendiri, Anda bisa melakukan beberapa hal. Uji situs lain di server yang sama untuk melihat apakah mereka mengalami masalah ini. Jika mereka juga mendapatkan error yang sama, maka yang paling pasti ada yang salah dengan server MySQL anda. Jika Anda tidak memiliki situs lain pada akun hosting yang sama ini, cukup masuk ke cPanel Anda dan cobalah mengakses phpMyAdmin dan hubungkan database. Jika Anda dapat terhubung, maka kita perlu memverifikasi apakah pengguna database Anda memiliki izin yang cukup. Buat file baru yang disebut testconnection.php dan paste kode berikut di dalamnya:
Pastikan mengganti username dan password. Jika berhasil terhubung, berarti itu berarti pengguna Anda memiliki izin yang cukup, dan ada hal lain yang salah. Kembali ke file wp-config Anda untuk memastikan semuanya ada benar (re-scan typos).
Jika Anda tidak dapat terhubung ke database dengan membuka phpMyAdmin, berarti Anda tahu itu adalah sesuatu dengan server Anda. Ini tidak berarti server MySQL Anda sedang down. Ini bisa berarti bahwa pengguna Anda tidak memiliki cukup izin.
situs
# 1045 – Akses ditolak untuk pengguna ‘foo’ @ ‘%’ (menggunakan kata sandi: YES)
Kami mendapat telepon dengan HostGator dan dukungan mereka dengan cepat menemukan masalahnya. Entah bagaimana izin pengguna kami disetel ulang. Tidak yakin bagaimana itu terjadi, tapi ternyata itulah alasannya. Mereka kembali masuk dan mengembalikan izin dan kami bisa mengembalikan situs ini.
Jadi jika Anda mendapatkan akses ditolak kesalahan dalam menghubungkan ke phpMyAdmin Anda atau melalui hasil testconnection.php, maka Anda harus segera menghubungi host Anda agar mereka dapat memperbaikinya.
Solusi yang Bekerja untuk Orang Lain
Penting untuk dicatat, bahwa ini mungkin tidak sesuai untuk Anda. Gunakan dengan risiko Anda sendiri dan pastikan bahwa Anda memiliki cukup backup jika terjadi kesalahan.
Deepak Mittal mengatakan bahwa kliennya mendapatkan error bahwa database perlu diperbaiki. Bahkan setelah memperbaiki database, kesalahan tidak hilang. Ia mencoba berbagai hal dan pada akhirnya, masalahnya adalah url situs. Ternyata hal itu punah yang menyebabkan kesalahan bertahan. Dia menjalankan query SQL dengan membuka phpMyAdmin:
UPDATE wp_options SET option_value = 'YOUR_SITE_URL' WHERE option_name = 'siteurl'
Pastikan mengganti YOUR_SITE_URL dengan contoh url yang sebenarnya: https://www.site.com. Wp_options akan berbeda jika Anda telah mengubah awalan database WordPress default.
Hal ini sepertinya memperbaiki masalah untuknya dan beberapa lainnya yang berkomentar di posnya juga.
Sachinum menyarankan agar dia bisa menghubungkan database dengan testconnection.php, jadi dia mengubah user wp-config.php ke pengguna root. WordPress mulai bekerja dengan baik. Kemudian dia mengembalikan setting kembali ke database-user, dan terus bekerja. Dia tidak tahu apa yang salah, tapi menyimpulkan bahwa itu salah ketik.
Cutewonders menyarankan agar mereka menghapus konten active_plugins di tabel wp_options dan mengedit konten recent_edited. Pada dasarnya hal itu sepertinya memperbaiki masalah. Mohon tanggapan penuh mereka disini.
Kami membaca banyak sumber bahwa pengguna hanya mengupload salinan WordPress yang baru dan memperbaiki kesalahannya.
Ini adalah kesalahan yang sangat menyebalkan. Apa yang telah Anda coba yang sepertinya bekerja untuk Anda? Kami akan dengan senang hati memperluas sumber ini, jadi orang lain tidak perlu membuang banyak waktu untuk menemukan solusinya.