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:
mysqldump -u {username} -p {database_name} > {filename}
- –user={username}, -u {username}– nama user akun yang akan digunakan untuk menghubungkan ke server MySQL.
- –password[=password], -p[password]– password akun yang akan digunakan untuk menghubungkan ke server MySQL. Nilai sandi adalah opsional. Jika tidak disediakan, alat akan memintanya. Jika disediakan, tidak boleh ada spasi antara –password=atau -popsi dan password.
- {database_name} – nama basis data.
- {filename} – nama file cadangan database.
Cadangkan semua basis data
Opsi ini –all-databases memungkinkan untuk mencadangkan semua basis data.
mysqldump -u root -p --all-databases > backup.sql
Cadangkan hanya database tertentu
Opsi ini –databases memungkinkan untuk mencadangkan hanya database tertentu dengan memberikan nama-namanya ke command line.
mysqldump -u root -p --databases market company > backup.sql
Cadangkan satu basis data
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.
mysqldump -u root -p market > backup.sql
Perbedaan antara kedua perintah ini adalah, tanpa –databases opsi, cadangan tidak memiliki CREATE DATABASE dan pernyataan USE.
Cadangkan hanya tabel tertentu dari database
Berikan nama database dan nama tabel ke command line tanpa –databases opsi untuk hanya mencadangkan tabel tertentu dari database.
mysqldump -u root -p market products manufacturers > backup.sql
Cadangkan struktur basis data tanpa data
Opsi ini –no-datamemungkinkan untuk membuat cadangan struktur database tanpa data. Jadi file cadangan hanya berisi pernyataan untuk membuat tabel.
mysqldump -u root -p --no-data market > backup.sql
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.sql
Cadangkan 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.sql
Saat opsi –quick digunakan, data diambil satu per satu baris daripada mengambil seluruh rangkaian baris dan menyimpannya di memori.