mysqldump adalah perintah command line, tapi apabila menghendaki dijalankan rutin bisa di pasang di cron system.
Berikut perintah ekspor mysqldump :
mysqldump -u root -p database_name > db_backup.sql
Berikut perintah ekspor mysqldump melalui SSH :
mysqldump -h SERVER_IP -u root -p database_name > db_ssh_backup.sql
Berikut perintah impor mysqldump :
mysqldump -u root -p database_name < db_backup.sql
Berikut perintah ekspor mysqldump melalui SSH :
mysqldump -h SERVER_IP -u root -p database_name < db_ssh_backup.sql
Membatasi jumlah catatan/row yang di dump :
gunakan perintah
--where="1 limit 1000"
ini akan membatasi hanya 1000 row/baris yang di dump
lengkapnya adalah :
mysqldump -h SERVER_IP -u root -p --opt --lock-tables=false --where="1 limit 1000" database_name > db_ssh_backup.sql
--opt
sebagai opsi yang optimal
--lock-tables=false
menjalankan MySQLDump tanpa mengunci tabel
Karena urutan defaultnya adalah ASC yang jarang Anda inginkan dalam situasi ini, Anda harus memiliki desain database yang tepat agar DESC dapat digunakan. Jika semua tabel Anda memiliki SATU kolom kunci utama dengan nama yang sama (alami atau pengganti), Anda dapat dengan mudah membuang n catatan terbaru menggunakan :
mysqldump --opt --where="1 ORDER BY id DESC limit 1000000" --all-databases > dump.sql
Ini adalah alasan yang tepat mengapa Anda harus selalu memberi nama ID PK Anda dan menghindari PK komposit, bahkan dalam tabel asosiasi (gunakan kunci pengganti sebagai gantinya).
catatan :
Ekspor/Impor dari server dapat menimbulkan kesalahan ‘COLUMN_STATISTICS’ tabel tidak dikenal di information_schema (1109)
Tambahkan opsi di bawah ini untuk menyelesaikan masalah ini :
--column-statistics=0
contoh penggunaannya :
mysqldump --column-statistics=0 --host=<server> --user=<user> --password=<password>
mysqldump --column-statistics=0 -u root -p --opt --lock-tables=false --where="1 limit 1000" database_name > db_backup.sql
source : Linux mysqldump command