Selasa, 07 Agustus 2007

MySQL Crash & Recovery

Ada bencana yang tak terduga tadi malam. Entah karena sudah terlalu mengantuk dan tangan sudah mulai gemetar, bencana yang saya takutkan terjadi. Karena saya adalah shell mania dan lebih menyukai hal-hal yang rumit, maka saya lebih suka untuk melakukan administrasi database melalui shell dan bukan tool seperti yang sering orang lain sukai; maka kelangkaan bodoh terjadi saat saya lupa untuk melakukan proses delete table tanpa tambahan perintah WHERE.


DELETE FROM user;


WEw ... akhirnya semua informasi tentang user yang ada di database SISKUM yang saya kelola habis terhapus tanpa sisa. Kepala agak pusing dan mata yang sudah mengantuk menambah gejala kronis sakit hati karena pacar yang tak mau mengerti kegiatan komputer dari pagi sampai malam semakin menjadi!! Sayapun tertidur tanpa ada rasa bersalah sama sekali!

Thanks GOD karena tulisan diatas hanya merupakan sebuah disaster drama that could be happen into your real life ... Namun sebenarnya bukan hanya kesalahan yang dikarenakan human error, tapi juga kesalahan system OS dan berbagai kemungkinan yang terjadi. Karena itulah kemampuan untuk melakukan backup DB adalah kemampuan yang harus dimiliki oleh kita para pengembang.

DI MySQL kita diperkenalkan dengan beberapa materi tentang backup dan recovery DB menggunakan berbagai tool. Tapi saya tidak ingin bersusah menuliskan dan membahas hal tersebut sendiri karena sudah ada manual resmi yang diikutsertakan di instalasi. Selain itu untuk saya sendiri, ada 2 perintah yang paling saya sukai dari pertama saya mengetahui cara backup dan recovery MySQL.

Untuk Backup database.

MSShell> mysqldump -u root -prahasia SISKUM > hasil_dump_formatnya_SQL.sql

Sekarang coba check file hasil proses diatas dan perhatikan bahwa MySQL melakukannya dengan menuliskan langsung perintah SQL yang merupakan kumpulan perintah yang sama persis dengan perintah yang kita jalankan untuk membuat database yang kita miliki. Kalau pada tempat saya file tersebut dibuat di dalam folder bin pada tempat instalasi mysql.

Sedangkan untuk restore keseluruhan database SISKUM saya mempergunakan perintah seperti dibawah ini.

MSShell> mysql -u root -prahasia < hasil_dump_formatnya_SQL.sql

Namun apabila ada error seperti ini :

ERROR 1046 at line 11: No Database Selected

Berarti kita harus menambahkan proses pembuatan database secara manual di file kita tadi. Saya biasanya menambahkan ini pada file tersebut pada bagian paling atas.

CREATE DATABASE SISKUM;
USE SISKUM;

Perintah tersebut sama saja dengan membuat database SISKUM dan kemudian memilihnya agar baris perintah SQL dibawahnya dijalankan. Tapi yang harus diperhatikan, bahwa saya sudah yakin bahwa database SISKUM tidak ada, atau Anda akan mengalami error saat melakukannya lagi.

Lalu barulah kita mengulang perintah tadi yang seharusnya dijalankan tanpa ada pesan error.

MSShell> mysql -u root -prahasia < hasil_dump_formatnya_SQL.sql

Untuk melakukan testing, masuk saja ke mysql dan seharusnya database telah ada.

Thats all ....

Tidak ada komentar: