Matamu.NET – WordPress adalah salah satu platform CMS yang dijalankan melalui PHP dan MySQL Database untuk menyimpan konten-konten dinamis. Jika koneksi WordPress terputus dengan Database maka user akan melihat pesar peringatan : Error Establishing a Database Connection. Dalam bahasa Indonesia akan tertulis dengan informasi : Galat Data Base Eror.
MAsalah ini bisa disebabkan oleh banyak penyebab :
- Kapasitas Rendah RAM Rendah
- Kapasitas Ruang Penyimpanan (Disk Space) Rendah
- Database Corruption
- Error Plugin atau Bentrok antar Plugin
- Tema tidak terpasang dengan baik
- Password data base tidak sinkron
- MySQL Error dan masih banyak lagi.
Artikel ini akan mencoba memberikan solusi dari masalah di atas berdasarkan pengalaman selama menggunakan WordPress. Dalam tutorial ini akan ada beberapa Value yang tertulis seperti example_DB_name, example_password, dan www.example.com. Silahkan ganti valu tersebut dengan value yang sesuai dengan website/wordpress anda.
Daftar Isi
Langkah Pertama
Langkah pertama dimulai dengan cek fisik status Server anda, entah itu Shared Hosting, VPS atau Dedicated. Jika tidak ada pesan memory tidak cukup, maka langkah paling mudah silahkan restart Server anda. Merestart akan memberikan solusi sementara masalah Error Establishing a Database Connection, namun masih ada kemungkinan situs akan muncul pesan serupa.
Jika terdapat pesan kekurangan memory, maka silahkan upgrade masalah yang ada pada pesan Server anda. Misalnya kekurangan RAM yah silahkan upgrade ram, jika masalahnya pada Disk Space maka silahkan tambahkan kapasitas Disk Spacenya.
Back Up – Sebelum melakukan langkah-langkah perbaikan selalu Back Up data anda, karena ada kemungkinan eror terjadi selama proses perbaikan. Cara back Up tergantung pilihan anda misalnya back sendiri dengan mendownload semua data yang ada atau manfaatkan fasilitas WP anda.
Verifikasi MySQL
Pastikan jika MySQL berjalan dengan baik. Cara Verivikasi bisa dilakukan dengan perintah ps dan grab.
# ps -ax | grep '[m]ysqld'
1342 ? Sl 0:01 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
Pastikan hasil yang dari Perintah menunjukkan ID prosess dan Command dalam baris yang sama.
Chek MySQL Logs
Langkah selanjutnya adalah silahkan cek Logs MySQL. Cari pesan seperti incorrect password, corrupt tables, memory or disk space issues. Informasi sangat bermanfaat untuk menentukan langkah yang akan dilakukan dalam menyelesaikan masalah database.
Untuk mengecek ini bisa dilakukan dengan perintah tail
# tail -n50 /var/log/mysql/error.log
Back Up Database
Proses perbaikan database tentu saja akan melakukan perubahan beberapa value dan sebaiknya back up terlebih dahulu Database. Langkah Bakcup database sebagai berikut :
1. Silahkan logging ke Server anda bisa melalui SSH atau Console dari penyedia jasa hosting anda.
2. Temukan Credentials Database dengan perintah grep. Perintah ini digunakan untuk mengembalikan informasi WordPress connection. Pastikan DB-HOST adalah localhost.
# grep 'DB_USER\|DB_NAME\|DB_PASSWORD\|DB_HOST' /var/www/html/wp-config.php
define( 'DB_NAME', 'example_DB_name' );
define( 'DB_USER', 'example_username' );
define( 'DB_PASSWORD', 'example_password' );
define( 'DB_HOST', 'localhost' );
3. gunakan perintah mysqldump untuk back up Database. Silahkan masukkan password Database anda ketika diminta oleh MySQL. Sebagai contoh berikut ini cara membuat full database backip di /root/mysqlbak.sql. Tentu saja kita bisa pilih lokasi yang berbeda, namun untuk keamaanan pastikan saja jika back up data diluar dari folder /var/www. Bias tidak bentrok saja dengan database asli
# mysqldump -u example_username -p example_DB_name > /root/mysqlbak.sql
4. Pastikan back file sudah dibuat dengan benar. Salah satu cirinya ukuran filenya mungkin beberapa KB. Database dalam bentuk text file jadi bisa dicek dengan command ubuntu
# ls -l /root/mysqlbak.sql
# less /root/mysqlbak.sql
Jika pasword tidak benar maka akan ada pesan eror.
mysqldump: Got error: 1045: Access denied for user 'example_username'@'localhost' (using password: YES) when trying to connect
1. Reset Password Database
Catatan : Jika backup mysqldump sukses, silahkan lewati langkah ini.
Jika backup database bisa dilakukan dari wp-config.php, maka kita harus reset password database. Silahkan reset database password jika Informasi WardpPress tidak benar dan atau tidak bisa dipastikan password tersebut benar.
Catatan : Pastikan kamus sudah back Server sebelum proses dilakukan.
Adapun langkahnya
1. Edit wp-config.php.
# nano /var/www/html/wp-config.php
2. Cari baris berikut!
define( 'DB_PASSWORD', 'example_password' );
Silahkan masukkan password baru lalu letakkan di example_password. Jangan ganti value dari database yang lain.
3. Silahkan save dan keluar. Bisa dengan perintah crtl + x di windows atau cmd + x di macOS.
4. Verifikasi informasi pada database. lalu pastikan kembali DB-HOST adalah localhost
# grep 'DB_USER\|DB_NAME\|DB_PASSWORD\|DB_HOST' /var/www/html/wp-config.php
define( 'DB_NAME', 'example_DB_name' );
define( 'DB_USER', 'example_username' );
define( 'DB_PASSWORD', 'example_password' );
define( 'DB_HOST', 'localhost' );
5. Hentikan MySQL
# service mysql stop
6. Buat folde Runtime Socket dan beri akses ke mysql user
# mkdir -p /var/run/mysqld
# chown mysql:mysql /var/run/mysqld
7. Jalankan perintah mysqld_safe dengan perintah –skip-grant-tables
# mysqld_safe --skip-grant-tables &
8. Tekan enter untuk kembali ke prompt. Log in kembali ke MySQL sebagai root.
# mysql -u root
9. Masukkan perintah berikut untuk membuat password baru.
mysql> use example_DB_name;
mysql> FLUSH PRIVILEGES;
mysql> GRANT ALL PRIVILEGES ON example_DB_name.* TO "example_username"@"localhost" IDENTIFIED BY "new_example_password";
mysql> FLUSH PRIVILEGES;
mysql> EXIT
10. Restart Server dengan perintah # reboot
2. Memperbaiki Database WordPress
Database wordpress bisa diperbaiki dengan cara memberikan perintah arahan di wp-config.php
1. edit Edit wp-config.php
# nano /var/www/html/wp-config.php
2. Masukkan perintah WP_ALLOW_REPAIR tepat di atas kalimat “That’s all, stop editing! Happy blogging“. Posisinya ada di bagian-bagian akhir file.
define( 'WP_ALLOW_REPAIR', true );
/* That's all, stop editing! Happy blogging. */
3. Simpan file dan keluar.
4. Kunjungi laman berikut di browser . Ganti kata www.example.com dengan alamat situs WP kamu.
http://www.example.com/wp-admin/maint/repair.php
5. Setelah itu akan muncul kotak dialog untuk merepair database. Kedua pilihan tersebut adalah merepair database namun Repair and Optimize Database berfungsi untuk menghapus data yang tidak penting dari table, defragment dan compress database untuk meningkatkan performa wordpress.
6. Setelah selesai, hapus WP_ALLOW_REPAIR dari wp-config.php