Tips Lengkap Merawat Database WordPress

SQL

Berbeda dengan pengguna layanan gratisan seperti WordPress.com atau Blogger, pengguna blog hosting sendiri seperti WordPress dan lainnya pasti dihadapkan pada banyak masalah teknis, salah satunya adalah database.

Masalah database yang sering dihadapi pengguna WordPress bermacam-macam. Yang paling sering adalah kerusakan tabel database (overhead). Overhead dapat membuat blog kita menjadi semakin lambat diakses dan pada keadaan tertentu dapat membuat beberapa plugin yang memerlukan resource tinggi tidak bisa berjalan (pernah mengalami Fatal error: Allowed memory size of bla bla bla di dashboard anda?).

Walaupun overhead bukan masalah yang serius, tetapi tetap perlu dilakukan perbaikan. Tools yang akan kita pakai adalah phpMyAdmin dan plugin WordPress untuk membersihkan sisa tabel dari plugin yang tidak terpakai lagi.

1 – Memperbaiki overhead menggunakan phpMyAdmin

Caranya dengan login ke cPanel terlebih dulu, kemudian pilih menu phpMyAdmin pada bagian Databases.

cPanel X

Kemudian akan terbuka sebuah tab baru pada jendela browser anda. Pilih satu database yang akan diperbaiki (biasanya bernama namahostanda_wrdp1 untuk WordPress yang diinstal dari Fantastico).

phpMyAdmin

Tandai tabel mana saja yang overhead, kemudian pilih Perbaiki tabel pada drop down menu di bagian bawah.

repair database

2 – Memperbaiki overhead otomatis menggunakan Cron/Crontab

Cron dipakai untuk menjalankan task secara otomatis dan terjadwal. Perbaikan overhead tabel database kita juga bisa dilakukan dengan menambahkan crontab berisi perintah mysqlcheck untuk memperbaiki tabel secara teratur dalam jangka waktu yang ditentukan. Perintah ini sangat berguna apabila database blog kita sering overhead akibat traffic yang sangat besar dan memakan resource yang tinggi—akibat banyaknya query yang dijalankan karena pemakaian plugin yang banyak.

Caranya dengan login ke cPanel dan pilih menu Cron jobs, kemudian pilih Standard pada menu experience level.

Tambahkan perintah mysqlcheck [options] --databases db_name1 [db_name2 db_name3...] pada form Command to run (jangan lupa ganti db_name1, db_name2, dan seterusnya dengan nama-nama database yang akan di auto-check.

Cron

Perintah mysqlcheck digunakan untuk menjalankan Check Table, Repair Table, Analyze Table, dan Optimize Table, apabila ingin menjalankan satu perintah spesifik saja misal Repair Table, maka ganti mysqlcheck dengan mysqlrepair. Untuk [options] bisa memakai [--auto-repair] (selengkapnya baca MySQL 5.0 Reference Manual).

Kemudian atur berapa jam sekali crontab tersebut dijalankan. Saya sarankan maksimal satu kali sehari pada jam-jam tengah malam. Klik Save Crontab.

Perhatian: Semakin sering anda mengatur cron jobs bekerja dalam satu hari, maka beban CPU hosting akan semakin tinggi. Untuk itu aturlah sesuai saran di atas. Atau bila anda ingin banyak membuat crontab, sebaiknya konsultasikan dulu dengan provider hosting anda.

3 – Membersihkan sisa tabel database dengan WP Options Manager

Sebagian besar plugin yang beredar saat ini tidak menyediakan opsi uninstall. Akibatnya walaupun plugin sudah di-deactivate dan dihapus, tabel databasenya masih tertinggal di dalam tabel wp_options. Pengalaman saya, sisa tabel seperti itu bisa memunculkan pesan Fatal error: Allowed memory size of… dan plugin tertentu tidak dapat diaktifkan.

Cara mudah dan aman menghapus sisa tabel dengan menggunakan plugin WP Options Manager. Pasang dan aktifkan plugin itu, klik Match all plugin against options, tandai options mana saja yang sekiranya tidak terpakai, lalu klik Delete all selected options.

WP Options Manager plugin

Perhatian: Baca keterangannya baik-baik. Tidak semua options yang ditemukan harus dihapus. Beberapa options tertentu bisa muncul dan jangan dihapus, misal akibat penggunaan theme tertentu seperti Thesis, dan program FTP.

Selamat mencoba! :)

40 thoughts on “Tips Lengkap Merawat Database WordPress

  1. Maaf mas, agak telmi. Selama ini saya beranggapan bahwa selain pemilik domain, provider juga melakukan perawatan yang sama.
    Sampai sekarang memang belum mengalami hal yang mas tuliskan, tetapi sepertinya menyulitkan juga jika koneksi yang dimiliki lemot. Sementara diarsip dulu mas.

  2. @aldy: setau saya provider hanya mengurusi masalah performance, uptime, dan keamanan data2 pengguna. Sedangkan isi data2 pengguna termasuk database menjadi tanggung jawab sendiri.

  3. Ops, baru ngeh sekarang. Dan sepertinya saya harus mulai optimasi, karena dulunya banyak plugins yang dipakai tetapi sekaran sudah dihapus. Jika meninggalkan masalah bisa berabe juga.

  4. belum semua saya ngerti, kayaknya yg terbayang hanya memperbaiki overhead dengan phpMyAdmin, itupun saya belum pernah mengalami masalah overhead seperti itu, maklum mungkin karena trafik nggak seberapa, hehe..

    btw, itu phpMyAdmin kok ada yg bahasa Indonesia ya, saya baru tahu :D

  5. weh, pusing dah. ternyata malah agak merepotkan ya pake yg berbayar. perasaan waktu pke yg gratisan, malah ga pusing mikirin ini itu…
    hikz, nyubi. ga th apa2. moga2 bisa learning by doing

  6. wah, baru tahu kalau plugin yg sudah deactivated dan didelete masih menyisakan sesuatu didatabase, kalau sering uji coba plugin, lama-lama makin penuh memorinya dong ….
    terima kasih informasinya, bermanfaat sekali ..

  7. wah kalo saya malah lebih parah lagi rusaknya mas
    masa di file manager semua data eror
    nge-YM CS-nya katanya ntu masalah dari servernya
    ampe sekarang belum kelar2 diperbaikinya
    btw, WP isa di instal ulang ga…??

  8. selain maintenance diatas juga ada baiknya di backup dulu secara manual, ini sangat penting mengingat menghindari hal hal yang tidak di inginkan.

  9. Hah…mantaps kang. Lagi2 masalah di database wp, betul sekali tuh mas. Tapi ga hanya plugin aja yg suka nyisain sampah di database, tapi theme juga suka ninggalin sampah. Misal wae wootheme, elegantheme dll

  10. Saya belum tau banget tentang masalah database. maklum … , masih newbie. makasih buat infonya, itung2 nabung pengetahuan.

  11. Pingback: Please, don't cry... | Personal Field

  12. Menurut saya pada point pertama setelah repair jangan di lupa di optimize. pada point kedua sebaiknya jangan dilakukan pada shared hosting, cukup rutin seminggu sekali di repair dan optimize seperti cara pertama walaupun trafic lumayan tinggi, beberapa blog yang saya tahu mempunya trafic lumayan tinggi rutin melakukan seminggu sekali atau minimal sebulan sekali. tentang point ketiga jujur saja saya belum menggunakannya, yang pernah saya gunakan plugin clean option. dan terakhir jangan lupa backup terlebih dahulu sebelum melakukkannya. Just My Opinion.

  13. mas…. aku g tau nih harus comment dimana cz kata mas aldy aku di suruh kesini……. mo nanya nih kira2 ap yang terjadi nek kita ganti link yang udah ke indeks am google???? apakah di kira spam???? trus link yg baru tu di anggap baru ap tetep aj g di anggap cz link yg lamaq masuk sandbox deh kayanya…….. makasih y mas

  14. Optimasi db di wp memang harus jadi pekerjaan rutin yang membosankan, tapi mau gimana lagi….

    saya biasanya sering melakukan optimasi melalui SSH mas…biar lebih ringkes aja…

  15. saya belum moving to wordpress….
    jadi blum pernah menghadapi hal2 seperti ini :)
    ternyata aga ribet juga yah wordpress berbayar…
    tapi memang harus belajar dan belajar supaya bisa :)
    terima kasih infonya :)
    jadi pembelajaran sebelum pindah ke wordpress.org

  16. Pingback: 20+ Tips Lengkap Optimasi WordPress

  17. Para master web
    ditempat

    saya akbar
    nubie dlm hal Cpanel. ada masalah dengan cara setting CRONJOB di cpanel
    begini ceritanya :

    saya beli script dari gemp*r.com, situs saya udah jadi, udah bisa diakses, hanya saja saya sekarang ini ingin setting CRONJOB di Cpanel.

    dari tutorial yang banyak beredar di google, saat setting COMMAND di CRONJOB
    code nya sbb :

    /usr/bin/php -q /home/username/public_html/autoresponder/run.php

    Nah, yang membuat saya binggung adalah : ” username” itu harus diisi apa ya ??
    username untuk login ke Cpanel ?
    username email ?
    username database di Cpanel ?

    Saya udah coba setting dengan username saya untuk masuk ke Cpanel, menjadi :

    /usr/bin/php -q /home/montok2/public_html/autoresponder/run.php

    akan tetapi keesokan harinya saat saya buka email, ada email masuk dari Cron Daemon
    yang mengatakan ” /bin/sh: usr/bin/php: No such file or directory ”

    mohon bantuan para master, karena saya gak tau lagi harus bertanya kepada siapa

    terima kasih
    salam
    akbar

  18. Thank’s buat infonya, pernah denger msalah ini tapi belum pernah nerapin di blog saya, makluk trafic masih kecil jadi belum timbul masalah yang aneh.

    Untuk plugin WP sebaiknya ditest secara offline dulu sebelum benar2 diinstall di blog, sehingga bisa menghindari masalah sampah plugin diatas.

  19. Pingback: Tips Lengkap Merawat Database WordPress