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.sql9 – Opsi untuk
- mysqldump analisa_website > analisa_website.sql0 – 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.sqlAnda 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.sqlCara 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.sqlPerintah 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.sqlSama 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"; donePerintah 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.gzBuat 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).sqlPerintah 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.sqlDalam 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.sqlRestore 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.sql0Export 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.sql1Perintah 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.sql8 di direktori home pengguna Anda:mysqldump -u root -p analisa_website > analisa_website.sql2
Copy dan Paste teks berikut ini ke file .my.cnf.
mysqldump -u root -p analisa_website > analisa_website.sql3Jangan lupa ganti mysqldump -u root -p --databases analisa_website_a analisa_website_b > database_analisa_a_b.sql9 dan mysqldump -u root -p --all-databases > semua_database.sql0 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.sql4
- Buat direktori untuk menyimpan backup :mysqldump -u root -p analisa_website > analisa_website.sql5
- Kemudian Buka file crontabmysqldump -u root -p analisa_website > analisa_website.sql6
Tambahkan cron job berikut yang akan membuat backup dari nama database mysqldump -u root -p --all-databases > semua_database.sql1 setiap hari pada pukul 3 pagi:
mysqldump -u root -p analisa_website > analisa_website.sql7Jangan lupa mengganti dbuser dengan nama akun MySQL dan mysqldump -u root -p --all-databases > semua_database.sql2 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.sql8Tentu 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 Mudah Hapus User Account MySQL via Terminal Linux
Cara Menampilkan Semua User di MySQL
Cara Menampilkan Semua Database di MySQL
Cara Membuat Database Mysql di Linux Terminal
Cara Menghapus Database MySQL di Linux Terminal
Cara Memeriksa Versi MySQL atau MariaDB di Server Linux
Tutorial Cara Reset Password root Mysql
Cara Menampilkan Semua Table di MySQL Database
Cara Membuat User MySQL dan Hak Akses 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 dan Contoh Penggunaan Perintah Xargs di Linux
xsand
utilitas xargs memungkinkan Anda membangun dan menjalankan perintah dari input standar. Xargs biasanya digunakan dalam kombinasi dengan perintah lain melalui piping (|). Menggunakan xargs memungkinkan...