MySQL mempunyai tool untuk backup program yaitu mysqldump. mysqldump adalah program pada sisi client yang dapat digunakan untuk backup beberapa database atau transfer data ke server lain. Tool ini tersedia jika kita install MySQL dan terdapat pada direktori <mysql_install_dir>\bin. Output dari mysqldump adalah file yang berisi perintah-perintah SQL yang dapat dibaca dengan editor teks seperti wordpad. File output ini dapat dijalankan untuk membuat database, tabel, atau melakukan operasi pada database atau tabel. Tool ini bisa digunakan untuk engine MyISAM atau InnoDB dan bisa dijalankan tanpa menghentikan instace MySQL. Menurut manual MySQL, ada tiga cara umum untuk menjalankan mysqldump:
mysqldump [options] db_name [tables]
mysqldump [options] --databases db_name1 [db_name2 db_name3...]
mysqldump [options] --all-databases
Parameter [options] punya banyak variasi pilihan yang bisa digunakan sesuai dengan kebutuhan. Berikut ini sebagian parameter yang sering atau pernah aku pakai untuk backup database.
Penggunaan yang umum dari mysqldump mungkin adalah melakukan backup terhadap seluruh database yang ada:
INSERT INTO tbl1 VALUES (1, ‘a’);
INSERT INTO tbl1 VALUES (2, ‘b’);
INSERT INTO tbl1 VALUES (3, ‘c’);
Jika parameter ini tidak digunakan, yang merupakan pilihan default, perintah INSERT di generate per tabel. Contoh:
INSERT INTO tbl1 VALUES (1, ‘a’), (2, ‘b’), (3, ‘c’);
Menggunakan pilihan ini menurutku lebih aman, karena berdasar pengalaman, jika data sudah ada atau terjadi kesalahan, baris perintah INSERT yang berikutnya masih dijalankan. Tapi jika tidak menggunakan pilihan ini dan data sudah ada atau terjadi kesalahan, data berikutnya tidak akan masuk.
mysqldump --user=root --all-databases --result-file=”backup.sql”
Backup data saja:
mysqldump --user=root db_name --no-create-info --result-file=”backup.sql”
Backup struktur saja:
mysqldump --user=root db_name --no-data --result-file=”backup.sql”
Backup database tertentu beserta database MySQL tabel user saja, dan tidak tabel lain:
mysqldump --user=root --databases db_name mysql --result-file="backup.sql" --ignore-table="mysql.columns_priv" --ignore-table="mysql.db" --ignore-table="mysql.func" --ignore-table="mysql.host" --ignore-table="mysql.plugin" --ignore-table="mysql.proc" --ignore-table="mysql.proc_priv" --ignore-table="mysql.servers" --ignore-table="mysql.tables_priv" --ignore-table="mysql.general_log" --ignore-table="mysql.help_category" --ignore-table="mysql.help_keyword" --ignore-table="mysql.help_relation" --ignore-table="mysql.help_topic" --ignore-table="mysql.ndb_binlog_index" --ignore-table="mysql.procs_priv" --ignore-table="mysql.slow_log" --ignore-table="mysql.time_zone" --ignore-table="mysql.time_zone_leap_second" --ignore-table="mysql.time_zone_name" --ignore-table="mysql.time_zone_transition" --ignore-table="mysql.time_zone_transition_type"
10 April 2009
mysqldump - Tool untuk Backup Database MySQL
Langganan:
Posting Komentar (Atom)
mau tanya, file hasil dump tersebut disimpan di folder apa? apa kita bisa menentukan tempat / folder untuk menyimpan hasil dump tersebut?
BalasHapus