How to Backup and Restore Database MySQL | Netbeans
Daftar Isi:
- Sintaks Perintah Mysqldump
- Cadangkan Database MySQL Tunggal
- Cadangkan Beberapa Database MySQL
- Cadangkan Semua Database MySQL
- Cadangkan semua database MySQL ke file terpisah
- Buat Backup Database MySQL Terkompresi
- Buat Cadangan dengan Stempel Waktu
- Mengembalikan dump MySQL
- Kembalikan Database MySQL Tunggal dari Dump MySQL Penuh
- Ekspor dan Impor Database MySQL dalam Satu Perintah
- Otomatis Cadangkan dengan Cron
- Kesimpulan
Tutorial ini menjelaskan cara membuat cadangan dan memulihkan database MySQL atau MariaDB dari baris perintah menggunakan utilitas mysqldump.
File cadangan yang dibuat oleh utilitas mysqldump pada dasarnya adalah seperangkat pernyataan SQL yang dapat digunakan untuk membuat ulang database asli. Perintah mysqldump juga dapat menghasilkan file dalam format CSV dan XML.
Anda juga dapat menggunakan utilitas mysqldump untuk mentransfer database MySQL Anda ke server MySQL lain.
Sintaks Perintah Mysqldump
Sebelum membahas cara menggunakan perintah mysqldump, mari kita mulai dengan meninjau sintaks dasar.
Ekspresi utilitas mysqldump mengambil bentuk berikut:
mysqldump > file.sql
-
options
- File opsi mysqldump.sql - File dump (cadangan)
Untuk menggunakan perintah mysqldump, server MySQL harus dapat diakses dan dijalankan.
Cadangkan Database MySQL Tunggal
Kasus penggunaan paling umum dari alat mysqldump adalah untuk membuat cadangan satu database.
Misalnya, untuk membuat cadangan dari database bernama
database_name
menggunakan
root
pengguna dan menyimpannya ke file bernama
database_name.sql
Anda akan menjalankan perintah berikut:
mysqldump -u root -p database_name > database_name.sql
Anda akan diminta memasukkan kata sandi root. Setelah otentikasi berhasil, proses dump akan dimulai. Bergantung pada ukuran database, prosesnya bisa memakan waktu.
mysqldump database_name > database_name.sql
Cadangkan Beberapa Database MySQL
Untuk
--database
-backup beberapa database MySQL dengan satu perintah, Anda perlu menggunakan opsi
--database
diikuti oleh daftar database yang ingin Anda backup. Setiap nama basis data harus dipisahkan oleh ruang.
mysqldump -u root -p --databases database_name_a database_name_b > databases_a_b.sql
Perintah di atas akan membuat file dump yang berisi kedua database.
Cadangkan Semua Database MySQL
Gunakan opsi
--all-databases
untuk mencadangkan semua database MySQL:
mysqldump -u root -p --all-databases > all_databases.sql
Sama seperti contoh sebelumnya, perintah di atas akan membuat file dump tunggal yang berisi semua basis data.
Cadangkan semua database MySQL ke file terpisah
Utilitas
mysqldump
tidak memberikan opsi untuk mencadangkan semua basis data ke file yang terpisah, tetapi kami dengan mudah mencapainya dengan bash
FOR
loop sederhana:
for DB in $(mysql -e 'show databases' -s --skip-column-names); do mysqldump $DB > "$DB.sql"; done
Perintah di atas akan membuat file dump terpisah untuk setiap database menggunakan nama database sebagai nama file.
Buat Backup Database MySQL Terkompresi
Jika ukuran basis data sangat besar itu adalah ide yang bagus untuk mengompres output. Untuk melakukan itu cukup pipa output ke utilitas
gzip
, dan arahkan kembali ke file seperti yang ditunjukkan di bawah ini:
mysqldump database_name | gzip > database_name.sql.gz
Buat Cadangan dengan Stempel Waktu
mysqldump database_name > database_name-$(date +%Y%m%d).sql
Perintah di atas akan membuat file dengan format
database_name-20180617.sql
Mengembalikan dump MySQL
Anda dapat memulihkan dump MySQL menggunakan alat
mysql
. Perintah sintaks umum adalah sebagai berikut:
mysqld database_name < file.sql
Dalam kebanyakan kasus, Anda harus membuat basis data untuk diimpor. Jika database sudah ada, pertama Anda harus menghapusnya.
Pada contoh berikut ini, perintah pertama akan membuat database bernama
database_name
dan kemudian akan mengimpor dump
database_name.sql
ke dalamnya:
mysql -u root -p -e "create database database_name";
mysql -u root -p database_name < database_name.sql
Kembalikan Database MySQL Tunggal dari Dump MySQL Penuh
mysql --one-database database_name < all_databases.sql
Ekspor dan Impor Database MySQL dalam Satu Perintah
Alih-alih membuat file dump dari satu database dan kemudian mengimpor cadangan ke database MySQL lain Anda bisa menggunakan satu-liner berikut:
mysqldump -u root -p database_name | mysql -h remote_host -u root -p remote_database_name
Perintah di atas akan menyalurkan output ke klien mysql pada host jarak jauh dan akan mengimpornya ke database bernama
remote_database_name
. Sebelum menjalankan perintah, pastikan database sudah ada di server jauh.
Otomatis Cadangkan dengan Cron
Mengotomatiskan proses pencadangan basis data semudah membuat tugas cron apa yang akan menjalankan perintah mysqldump pada waktu yang ditentukan.
Untuk mengatur cadangan otomatis dari database MySQL menggunakan cronjob, ikuti langkah-langkah di bawah ini:
-
Buat file bernama
.my.cnf
di direktori home pengguna Anda:sudo nano ~/.my.cnf
Salin dan tempel teks berikut ini ke file.my.cnf.
user = dbuser password = dbpasswd
Jangan lupa ganti
dbpasswd
dandbpasswd
dengan pengguna basis data dan kata sandi pengguna.Batasi izin file kredensial sehingga hanya pengguna Anda yang dapat mengaksesnya:
chmod 600 ~/.my.cnf
Buat direktori untuk menyimpan cadangan:
mkdir ~/db_backups
Buka file crontab pengguna Anda:
crontab -e
Tambahkan tugas cron berikut yang akan membuat cadangan dari nama database
mydb
setiap hari pukul 3 pagi:0 3 * * * /usr/bin/mysqldump -u dbuser mydb > /home/username/db_backups/mydb-$(date +%Y%m%d).sql
Jangan lupa mengganti
username
denganusername
Anda yang sebenarnya.
Anda juga dapat membuat cronjob lain untuk menghapus cadangan yang lebih dari 30 hari:
find /path/to/backups -type f -name "*.sql" -mtime +30 -delete
Tentu saja, Anda perlu menyesuaikan perintah sesuai dengan lokasi cadangan Anda dan nama file. Untuk mempelajari lebih lanjut tentang perintah find, periksa Cara Menemukan File di Linux Menggunakan panduan Command Line.
Kesimpulan
Tutorial ini hanya mencakup dasar-dasarnya, tetapi harus menjadi awal yang baik bagi siapa saja yang ingin belajar cara membuat dan mengembalikan database MySQL dari baris perintah menggunakan utilitas mysqldump.
Anda juga dapat memeriksa tutorial tentang cara mengatur ulang kata sandi root MySQL jika Anda lupa.
mysql mariadb backup mysqldumpCadangan SafeCopy: Layanan Cloud dan Cadangan Cadangan Gratis
Cadangan SafeCopy adalah perangkat lunak yang menawarkan penyimpanan cloud gratis dan layanan backup yang memungkinkan pengguna membuat cadangan file dari beberapa perangkat dari satu akun.
Cara membuat, mengembalikan cadangan nandroid untuk ponsel Android yang di-rooting
Tip Cepat: Pelajari Cara Membuat dan Mengembalikan Cadangan Nandroid untuk Ponsel Android yang Di-Root.
Cara membuat cadangan / memulihkan aplikasi Android menggunakan cadangan titanium
Pelajari Cara Mencadangkan / Memulihkan Aplikasi Android menggunakan Titanium Backup.