Tutorial ini menjelaskan cara membuat backup dan restore database MySQL atau MariaDB dari baris perintah menggunakan utilitas mysqldump.
File backup yang dibuat oleh utilitas mysqldump pada dasarnya adalah seperangkat pernyataan SQL yang dapat digunakan untuk membuat ulang database asli. Perintah mysqldump juga dapat menghasilkan output file dalam format CSV dan XML.
Anda juga dapat menggunakan utilitas mysqldump untuk mentransfer database MySQL Anda ke server MySQL lain.
Jika Anda tidak membuat cadangan database, bug perangkat lunak atau kegagalan hard drive bisa menjadi bencana. Untuk membantu menghemat banyak waktu dan frustrasi, Anda sangat disarankan untuk berhati-hati dengan membuat backup database MySQL Anda secara berkala.
Sintaks Perintah Mysqldump
Sebelum membahas cara menggunakan perintah mysqldump, mari kita mulai dengan meninjau sintaks dasar.
Ekspresi utilitas mysqldump mengambil bentuk berikut:
mysqldump [options] > 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
Tutorial Cara Reset Password root Mysql
Konfigurasi Remote Connections ke MySQL Database Server
Cara Menampilkan Semua User di MySQL
Tutorial Manajemen Database MySQL dari Baris Perintah
Cara Membuat User MySQL dan Hak Akses MySQL
Cara Menampilkan Semua Database di MySQL
Cara Mudah Hapus User Account MySQL via Terminal Linux
Cara Menampilkan Semua Table di MySQL Database
Cara Memeriksa Versi MySQL atau MariaDB di Server Linux
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 Apache Webserver di CentOS 8
xsand
Apache HTTP Server adalah server web paling populer di dunia. Apache adalah server HTTP gratis, open source, dan lintas platform yang menyediakan fitur canggih...