Jika Anda tidak ingin kehilangan data, Anda perlu membuat cadangan basis data secara teratur. Client mysqldumpadalah alat command line yang memungkinkan untuk membuat cadangan database MySQL atau kumpulan database. Sintaks umumnya adalah: Opsi ini –all-databases memungkinkan untuk mencadangkan semua basis data. Opsi ini –databases memungkinkan untuk mencadangkan hanya database tertentu dengan memberikan nama-namanya ke command line. Opsi ini –databases memungkinkan untuk membuat cadangan satu database dengan memberikan nama database ke command line. mysqldump -u root -p --databases market > backup.sql Opsi –databasesini dapat dihilangkan jika ingin membuat cadangan satu database. Perbedaan antara kedua perintah ini adalah, tanpa –databases opsi, cadangan tidak memiliki CREATE DATABASE dan pernyataan USE. Berikan nama database dan nama tabel ke command line tanpa –databases opsi untuk hanya mencadangkan tabel tertentu dari database. Opsi
ini –no-datamemungkinkan untuk membuat cadangan struktur database tanpa data. Jadi file cadangan hanya berisi pernyataan untuk membuat tabel.Cadangkan semua basis data
Cadangkan hanya database
tertentu
Cadangkan satu basis data
Cadangkan hanya tabel tertentu dari database
Cadangkan struktur basis data tanpa data
Backup data database tanpa struktur
Opsi ini –no-create-infomemungkinkan untuk membuat cadangan data database tanpa struktur. Jadi file cadangan hanya berisi data tabel.
mysqldump -u root -p --no-create-info market > backup.sqlCadangkan database tanpa mengunci
Secara default, semua tabel akan dikunci hingga pencadangan selesai. Opsi ini –single-transactionmemungkinkan untuk membuat cadangan basis data tanpa mengunci tabel.
mysqldump -u root -p --single-transaction market > backup.sql |
Ketika opsi ini digunakan, cara isolasi transaksi diatur ke REPEATABLE READ dan START TRANSACTION pernyataan dikirim ke server sebelum memulai pencadangan basis data.
Untuk memastikan pencadangan berhasil, koneksi lain tidak dapat menggunakan pernyataan berikut: ALTER TABLE, CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE.
Opsi ini –single-transactionhanya berfungsi dengan tabel transaksional, seperti InnoDB. Opsi ini tidak akan bekerja dengan tabel MyISAM dan MEMORY. Tabel ini tidak bersifat transaksional, sehingga status dapat diubah selama pencadangan.
Cadangkan database besar
Berguna untuk menggabungkan –single-transactionopsi dengan –quickopsi ketika perlu membuat cadangan database besar.
mysqldump -u root -p --single-transaction --quick market > backup.sqlSaat opsi –quick digunakan, data diambil satu per satu baris daripada mengambil seluruh rangkaian baris dan menyimpannya di memori.
Backup merupakan suatu proses penting dalam berbagai hal, termasuk dalam kaitannya dengan penyimpanan data di dalam database. MySQL sebagai salah satu software database yang banyak digunakan saat ini, memiliki beberapa mekanisme backup. Tools yang membantu proses backup juga banyak tersedia, baik yang gratisan maupun yang berbayar. Salah satu toolsnya adalah dengan menggunakan PHPMyAdmin.
Namun dalam postingan ini, saya ingin lebih menekankan tentang bagaimana melakukan backup database MySQL dengan menggunakan tools bawaan MySQL yaitu mysqldump. Kita tidak perlu menginstall tools ini karena sudah tersedia saat kita menginstall MySQL.
Terus terang, dalam masalah backup database MySQL, saya masih agak kerepotan jika data sudah cukup banyak dan database sudah cukup kompleks. Artinya tidak hanya object berupa tabel saja yang ingin dibackup, namun object database seperti views, trigger dan stored-procedure juga perlu dibackup. Saat ini, belum banyak tools database MySQL, apalagi yang gratisan, yang dapat melakukan backup berbagai object tersebut dengan cukup baik. Bahkan PHPMyAdmin pun belum memiliki dukungan yang penuh terhadap object seperti views, trigger dan stored-procedure tersebut.
Alternatifnya, ternyata kita dapat menggunakan tools mysqldump. Tools ini saya rasa cukup bisa diandalkan, karena unggul dalam hal kecepatan dan keberhasilan melakukan backup. Mysqldump dapat diakses melalui command line, baik di sistem operasi Windows maupun Linux. Secara default, tools ini dapat diakses dari lokasi c:\mysql\bin (Windows), /usr/local/bin (Linux) atau lokasi lain sesuai yang ditentukan saat proses instalasi.
Bentuk Umum Perintah mysqldump
Secara sederhananya, perintah mysqldump memiliki bentuk umum sebagai berikut:
mysqldump –u [user name] –p [database name] > [dump file]
dimana,
- -u [username] merupakan nama username untuk masuk ke server MySQL. Username yang digunakan harus memiliki hak akses terhadap database yang akan dibackup.
- -p merupakan opsi untuk memunculkan password. Password akan diminta saat kita menjalankan perintah tersebut di dalam command line.
- [database name] adalah nama database yang akan dibackup.
- [dump file] merupakan nama (dan lokasi) dimana hasil backup akan disimpan. Umumnya hasil backup dapat kita simpan ke dalam file dengan ekstensi .sql.
Selain bentuk dasar tersebut, mysqldump juga memiliki berbagai opsi / pilihan. Berikut ini contoh berbagai variasi perintah mysqldump:
Contoh 1. Berikut ini contoh untuk melakukan backup database dengan nama “dbmahasiswa” ke dalam file dengan nama “backup.sql”. Object yang ingin dibackup adalah struktur tabel beserta data di dalamnya.
mysqldump -u root -p dbmahasiswa > backup.sql
Contoh 2. Jika kita ingin hanya melakukan backup terhadap struktur tabelnya saja, tanpa data di dalamnya, dapat dengan menambahkan opsi –no-data , seperti pada contoh berikut ini:
mysqldump -u root -p --no-data dbmahasiswa > backup.sql
Contoh 3. Opsi –no-create-info dapat digunakan untuk melakukan backup terhadap data-nya saja. Perhatikan contoh berikut ini:
mysqldump -u root -p --no-create-info dbmahasiswa > backup.sql
Contoh 4. Sementara contoh berikut ini dapat digunakan jika kita ingin melakukan backup terhadap trigger dan stored-procedure (function) saja.
mysqldump -u root -p --routines --no-create-info --no-data --no-create-db --skip-opt dbmahasiswa > backup.sql
Restore Database Backup
Dan untuk melakukan restore terhadap hasil backup database tersebut, dapat menggunakan bentuk perintah sebagai berikut:
mysql -u root -p dbmahasiswa < backup.sql
Demikian tutorial singkat ini, semoga bermanfaat untuk kita semua.
Referensi
- Backup dan Restore Database dengan PHPMyAdmin
- Backing Up Your MySQL Databases With MySQLDump
- Backing Up and Restoring A MySQL Database
- Dumping MySQL Stored Procedures, Functions and Triggers
--routines --no-create-info --no-data --no-create-db --skip-opt
Please follow and like us: