Berikut langkah mudah dan simple melakukan backup otomatis yang di schedule menggunakan script bat command prompt dan Task Scheduler
1. Buat file bat dengan nama backupdb.bat dengan perintah berikut
mysqldump.exe -h localhost –user=root –password=admin –databases dbbackup > C:\backup\dbbackup-%date:~-4,4%%date:~-10,2%%date:~-7,2%.sql
“C:\Program Files\7-Zip\7z.exe” a -mx=9 C:\backup\dbbackup-%date:~-4,4%%date:~-10,2%%date:~-7,2%.7z C:\backup\dbbackup-%date:~-4,4%%date:~-10,2%%date:~-7,2%.sql
del C:\backup\dbbackup-%date:~-4,4%%date:~-10,2%%date:~-7,2%.sql
Note: perintah di atas melakukan backup database dengan nama db dbbackup menggunakan mysqldump pada folder c:\backup hasil backup contoh bernama dbbackup-20151125.sql tanggal mengambil dari tanggal sistim, kemudian dicompress melalui 7zip, perintah terakhir mendelete file sql, sehingga hanya meninggalkan file backup db hasil kompresi
2. Klik Control Panel -> Administrative Tools -> Task Scheduler
Centang Run whether user is logged on or not supaya schedule job berjalan walaupun user login atau tidak
3. Pada tab Actions bagian kanan klik Create Task, input nama schedule
4. Pilih tab Triggers klik New, tentukan jadwal schedule backup anda apakah hanya untuk satu kali proses / per hari/ per minggu / per bulan.
Tentukan juga kapan tanggal dan jam schedule dimulai. Klik OK.
5. Pilih tab Actions, isi Program/Script pilih file backupdb.bat yang sudah dibuat di atas. Klik OK.
6. Klik Ok untuk menyimpan job backup
Untuk memastikan backup berjalan lancar, coba lakukan test file bat dan pada job schedule, Anda bisa menjalankan job schedule secara langsung.
Untuk backup Database MySQL di windows bisa dilakukan dengan command prompt
yaitu :
shell>mysqldump -u [user] -p [password] [database] – r “/path/namafile.sql”
atau
shell>mysqldump -u [user] -p [password] [database] > path/namafile.sql
untuk lebih jelasnya , misal kita punya xampp dan kita taruh di D maka:
dengan asumsi : user = root, password kosong, dan nama database = absensi
sebelumnya kita buat dulu satu folder backup di D
D:\xampp\mysql\bin>mysqldump -u root -p absensi > D:\backup\absensi.sql
atau
D:\xampp\mysql\bin>mysqldump -u root -p absensi -r “D:\backup\absensi.sql”
maka database absensi akan tersimpan di folder D:\backup dengan nama absensi.sql
bila mau membackup hanya struktur database nya saja :
D:\xampp\mysql\bin>mysqldump -u root -p –no-data absensi > D:\backup\absensi.sql
atau
D:\xampp\mysql\bin>mysqldump -u root -p –no-data absensi -r “D:\backup\absensi.sql”
Bila mau membackup hanya datanya saja tanpa struktur :
D:\xampp\mysql\bin >mysqldump -u root -p –no-create-info absensi > D:\backup\absensi.sql
atau
D:\xampp\mysql\bin >mysqldump -u root -p –no-create-info absensi -r “D:\backup\absensi.sql”
untuk merestore database :
sebelumnya buat dulu database dengan nama misal absensi_new
kemudian ketikkan di bawah ini :
D:\xampp\mysql\bin >mysql -u root -p absensi_new < D:\backup\absensi.sql
jangan lupa ya untuk membackup pakai tanda > sedangkan untuk merestore pakai tanda file.sql
mysqldump -u root -p analisa_website > analisa_website.sql
9 – Opsi untukmysqldump analisa_website > analisa_website.sql
0 – Output hasil backup
Untuk menggunakan perintah mysqldump, MySQL server harus dapat diakses dan dijalankan.
Backup Satu Database MySQL
Kasus penggunaan paling umum dari tool mysqldump adalah untuk membuat cadangan satu database.
Misalnya, untuk membuat cadangan dari database bernama
mysqldump analisa_website > analisa_website.sql1 dan menyimpannya ke file bernama
mysqldump analisa_website > analisa_website.sql2, untuk melakukannya, jalankan perintah berikut dengan pengguna
mysqldump analisa_website > analisa_website.sql3:
mysqldump -u root -p analisa_website > analisa_website.sql
Anda akan diminta memasukkan password root. Setelah otentikasi berhasil, proses dump akan dimulai. Bergantung pada ukuran database, prosesnya bisa relatif.
Jika Anda masuk sebagai pengguna yang sama dengan yang Anda gunakan untuk melakukan ekspor dan pengguna itu tidak memerlukan kata sandi, Anda dapat menghilangkan opsi
mysqldump analisa_website > analisa_website.sql4 dan
mysqldump analisa_website > analisa_website.sql5:
mysqldump analisa_website > analisa_website.sql
Cara Backup Beberapa Database MySQL
Untuk mem-backup beberapa database MySQL dengan satu perintah, Anda perlu menggunakan opsi
mysqldump analisa_website > analisa_website.sql6 diikuti oleh daftar database yang ingin di backup. Setiap nama database harus dipisahkan oleh spasi.
mysqldump -u root -p --databases analisa_website_a analisa_website_b > database_analisa_a_b.sql
Perintah di atas akan membuat file dump yang berisi kedua database [digabung].
Backup Semua Database MySQL
Gunakan opsi
mysqldump analisa_website > analisa_website.sql7 untuk mencadangkan semua database MySQL:
mysqldump -u root -p --all-databases > semua_database.sql
Sama seperti contoh sebelumnya, perintah di atas akan membuat file dump tunggal yang bernama
mysqldump analisa_website > analisa_website.sql8 dan berisi semua basis data.
Backup Semua Database MySQL ke File Terpisah
Utilitas
mysqldump analisa_website > analisa_website.sql9 tidak memberikan opsi untuk mencadangkan semua databases ke file terpisah, tetapi kita dengan mudah mencapainya dengan menggunakan bash
mysqldump -u root -p --databases analisa_website_a analisa_website_b > database_analisa_a_b.sql0 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, output backup akan menggunakan nama database sebagai nama file.
Buat Backup Database MySQL Terkompresi
Jika ukuran basis data sangat besar, maka pilihan untuk mengompres output merupakan ide yang baik. Untuk melakukan itu cukup gunakan simbol pipe [
mysqldump -u root -p --databases analisa_website_a analisa_website_b > database_analisa_a_b.sql1 ] di output ke utilitas gzip, dan arahkan kembali ke file seperti yang ditunjukkan di bawah ini:
mysqldump nama_database | gzip > nama_hasil.sql.gz
Buat backup dengan Cap Waktu
Jika Anda ingin menyimpan lebih dari satu cadangan di lokasi yang sama, maka Anda dapat menambahkan tanggal saat ini ke nama file cadangan:
mysqldump nama_db > nama_backup-$[date +%Y%m%d].sql
Perintah di atas akan membuat file dengan format berikut
mysqldump -u root -p --databases analisa_website_a analisa_website_b > database_analisa_a_b.sql2
Restore dump MySQL
Anda dapat memulihkan dump MySQL menggunakan tool mysql. Perintah sintaks umum adalah sebagai berikut:
mysqld nama_database < file.sql
Dalam kebanyakan kasus, Anda harus membuat database untuk diimpor. Jika database sudah ada, pertama Anda harus menghapusnya.
Pada contoh berikut ini, perintah pertama akan membuat database bernama
mysqldump -u root -p --databases analisa_website_a analisa_website_b > database_analisa_a_b.sql3 dan kemudian akan mengimpor dump
mysqldump -u root -p --databases analisa_website_a analisa_website_b > database_analisa_a_b.sql4 ke dalamnya:
mysql -u root -p -e "create database nama_database"; mysql -u root -p nama_database < backup_database.sql
Restore Database MySQL Tunggal dari Full MySQL Dump
Jika Anda mencadangkan semua basis data Anda menggunakan opsi
mysqldump -u root -p --databases analisa_website_a analisa_website_b > database_analisa_a_b.sql5 dan Anda ingin mengembalikan satu database dari file backup yang notabene berisi banyak database, Anda dapat menggunakan opsi
mysqldump -u root -p --databases analisa_website_a analisa_website_b > database_analisa_a_b.sql6 seperti yang ditunjukkan dalam contoh di bawah ini:
mysqldump -u root -p analisa_website > analisa_website.sql0
Export dan Import Database MySQL Dalam Satu Perintah
Alih-alih membuat file dump dari satu database dan kemudian mengimpor backup ke database MySQL lain, Anda bisa menggunakan satu perintah dengan :
mysqldump -u root -p analisa_website > analisa_website.sql1
Perintah di atas akan menyalurkan output ke mysql client pada host jarak jauh dan akan mengimpornya ke database bernama
mysqldump -u root -p --databases analisa_website_a analisa_website_b > database_analisa_a_b.sql7. Sebelum menjalankan perintah, pastikan database sudah ada di server jauh.
Backup Otomatis Database MySQL Menggunakan Cron job
Mengotomatiskan proses backup database semudah membuat cron job seperti pada umumnya. Kita akan mengatur cron job untuk 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
mysqldump -u root -p --databases analisa_website_a analisa_website_b > database_analisa_a_b.sql
8 di direktori home pengguna Anda:mysqldump -u root -p analisa_website > analisa_website.sql
2Copy dan Paste teks berikut ini ke file .my.cnf.
mysqldump -u root -p analisa_website > analisa_website.sql
3Jangan lupa ganti
mysqldump -u root -p --databases analisa_website_a analisa_website_b > database_analisa_a_b.sql
9 danmysqldump -u root -p --all-databases > semua_database.sql
0 dengan nama dan kata sandi kredensial Anda. - Batasi izin file kredensial sehingga hanya Anda yang dapat mengaksesnya:
mysqldump -u root -p analisa_website > analisa_website.sql
4 - Buat direktori untuk menyimpan backup :
mysqldump -u root -p analisa_website > analisa_website.sql
5 - Kemudian Buka file crontab
mysqldump -u root -p analisa_website > analisa_website.sql
6Tambahkan cron job berikut yang akan membuat backup dari nama database
mysqldump -u root -p --all-databases > semua_database.sql
1 setiap hari pada pukul 3 pagi:mysqldump -u root -p analisa_website > analisa_website.sql
7Jangan lupa mengganti dbuser dengan nama akun MySQL dan
mysqldump -u root -p --all-databases > semua_database.sql
2 dengan nama akun Anda yang sebenarnya [Nama akun yang ada di sistem operasi].
Anda juga dapat membuat cronjob lain untuk menghapus cadangan yang lebih dari 30 hari:
mysqldump -u root -p analisa_website > analisa_website.sql8
Tentu saja, Anda perlu menyesuaikan perintah sesuai dengan lokasi cadangan Anda dan nama file. Untuk mempelajari lebih lanjut tentang perintah find, lihat Cara Menemukan File di Linux Menggunakan Command Line.
Kesimpulan
Tutorial ini hanya mencakup dasar-dasar mengelola database MySQL, tetapi dapat menjadi awal yang baik bagi siapa saja yang ingin belajar cara membuat dan restore backup database MySQL dari baris perintah menggunakan utilitas mysqldump.
Jika Anda ingin mempelajari lebih lanjut tentang bekerja dengan MySQL dari baris perintah, Lihat juga panduan lain tentang mengolah dan mengatur database :
- Manajemen Database MySQL menggunakan Baris Perintah
- Tutorial Cara Reset Password Root MySQL
- Cara Membuat Database MySQL di Linux Terminal
- Cara Membuat User MySQL dan Hak Akses MySQL
- Cara Menampilkan Semua User di MySQL
- Tutorial Mysqldump untuk Backup dan Restore Database MySQL
- LABEL
- MariaDB
- MySQL
- SQL
Share
Telegram
Berita sebelumyaCara Konfigurasi Let’s Encrypt di Nginx Ubuntu 18.04
Berita berikutnyaTutorial Lengkap Perintah Unzip di Terminal Linux
xsand
Related Post
Cara Menampilkan Semua Table di MySQL Database
Cara Memeriksa Versi MySQL atau MariaDB di Server Linux
Tutorial Cara Reset Password root Mysql
Tutorial Manajemen Database MySQL dari Baris Perintah
Cara Membuat User MySQL dan Hak Akses MySQL
Konfigurasi Remote Connections ke MySQL Database Server
Cara Membuat Database Mysql di Linux Terminal
Cara Menghapus Database MySQL di Linux Terminal
Cara Menampilkan Semua User di MySQL
Terbaru
Daftar Repository Lokal Ubuntu 22.04 Jammy Jellyfish
xsand
Setiap rilis Ubuntu memiliki nomor versi yang terdiri dari jumlah tahun dan bulan rilis. Misalnya, Rilis pertama Ubuntu 22.04 adalah April 2022. Nomor versi...
Cara Upgrade ke Ubuntu 22.04 dari Baris Perintah
Daftar Repository Lokal Indonesia Debian 11
Menghapus Kernel Module Linux dengan Perintah Rmmod
Tutorial Konfigurasi Nginx Server Blocks di Ubuntu 20.04
Tutorial Konfigurasi Apache Virtual Hosts di Ubuntu 20.04
Rekomendasi
Tutorial Install Visual Studio Code di CentOS 7
xsand
Visual Studio Code adalah kode editor lintas-platform open source yang dikembangkan oleh Microsoft. Visual Studio memiliki dukungan debugging bawaan, kontrol Git tertanam, syntax highlighting,...