Cara Backup dan Restore Database MySQL dengan Mysqldump
Membackup database MySQL adalah hal yang wajib Anda lakukan, sebagai pencegahan jika database tersebut mengalami kerusakan. Nah, salah satu cara backup MySQL yang bisa Anda coba yaitu menggunakan SQL Dump.
Loh, apa itu Mysqldump? Lantas, bagaimana caranya backup database dengan SQL Dump?
Tenang, jawabannya bisa Anda temukan di artikel ini, kok. Kali ini, kami ajak Anda berkenalan dengan tools Mysqldump. Sekaligus, memandu Anda cara dump database MySQL menggunakan perintah SQL Dump.
Anda sudah tidak sabar, kan? Langsung saja, ini dia artikel selengkapnya!
Apa itu Mysqldump?
Mysqldump adalah tools bawaan MySQL yang berfungsi untuk membackup database. Cara kerja Mysqldump cukup sederhana. Anda cukup menjalankan perintah atau query SQL Dump, maka database akan terbackup.
Meski sederhana, tools dengan tampilan CLI (Command Line Interface) ini cukup bisa diandalkan, loh. Alasannya, ia menyediakan berbagai variasi perintah backup database yang dapat Anda jalankan sesuai kebutuhan.
Oh ya, SQL dump ini kompatibel baik untuk database MySQL yang masih offline di localhost, maupun yang sudah online di layanan hosting. Meski begitu, kami lebih menyarankan Mysqldump untuk database website online saja.
Kenapa demikian? Setidaknya karena dua alasan berikut:
1. Website online lebih rawan terkena gangguan
Website yang bisa diakses online lebih rawan terkena kerusakan database dibanding website offline, misalnya karena serangan SQL Injection. Nah, backup database lewat Mysqldump adalah salah satu tindakan preventif untuk melindungi database.
2. Anda hanya butuh sekadar membackup database
SQL Dump merupakan opsi backup database yang jauh lebih ringkas dibanding jika Anda memakai fitur backup hosting seperti JetBackup. Bagaimana tidak, karena Anda cukup mengeksekusi satu atau dua baris query SQL saja untuk mencadangkan database.
Nah, itu tadi sedikit pengertian tentang Mysqldump. Sebelum belajar cara dump database MySQL, kenalan dengan sintaks query SQL Dump, yuk!
Baca juga: Cara Copy Database MySQL
Sintaks Perintah SQL Dump
Secara umum, perintah atau query SQL Dump untuk membackup database adalah sebagai berikut:
mysqldump -u [database_username] -p [options] [database_name] > [dumpfilename.sql] |
Masih bingung? Berikut keterangan masing-masing bagian:
- mysqldump – Awalan query untuk melakukan SQL Dump.
- -u [database_username] – Nama pengguna untuk mengakses database MySQL.
- -p – Password pengguna MySQL sebagai validasi akses database.
- [options] – Variasi sintaks mysqldump, contohnya –all-databases untuk membackup semua database.
- [database_name] – Nama database MySQL yang hendak dibackup.
- ‘>’ – Karakter ‘>’ menunjukkan mysqldump untuk mengeksekusi perintah backup.
- [dumpfilename.sql] – Nama file backup database, lengkap dengan ekstensinya.
Bagaimana, sudah ada sedikit gambaran, kan? Biar lebih jelas, yuk jajal langsung cara dump Database MySQL di poin berikutnya!
Baca juga: Cara Import Database MySQL
Cara Membuat Backup MySQL dengan Mysqldump
Ada banyak variasi cara backup MySQL dengan Mysqldump. Anda bisa mencoba salah satunya sesuai kebutuhan, atau menjajal semuanya sekaligus agar semakin lihai. Namun yang jelas, jangan lewatkan tahap persiapan di bawah ini, ya!
Persiapan Cara Backup MySQL dengan SQL Dump
Kali ini, kami akan mempraktikkan cara SQL Dump untuk database website yang sudah dihostingkan. Maka dari itu, persiapkanlah beberapa hal berikut!
1. Layanan Hosting dengan Akses SSH – Berhubung query Mysqldump ini akan dieksekusi di Terminal cPanel, maka pastikan dulu hosting Anda mendukung akses SSH. Nah, kali ini kami menggunakan paket Personal Unlimited Hosting ToberHost yang sesuai ketentuan tersebut.
2. Database MySQL beserta Username dan Passwordnya – Pastikan Anda sudah pernah membuat database MySQL di hosting. Kemudian, catat nama database serta username dan passwordnya. Namun jika belum ada database, silakan membuat database MySQL di cPanel terlebih dahulu.
Anda sudah menyiapkan keduanya? Jika ya, langsung saja praktikkan cara dump database MySQL dengan SQL Dump satu persatu!
Baca juga: Cara Remote Database MySQL di cPanel
Cara Backup Satu Database MySQL
Cara backup MySQL dengan SQL Dump ini bertujuan untuk membackup satu database spesifik saja. Untuk itu, ikuti langkah-langkah di bawah:
1. Pertama, akses cPanel via browser dengan menambahkan /cpanel setelah menginputkan nama domain Anda plus ekstensinya seperti contoh ini:
namadomainsaya.com/cpanel
2. Jika sudah, silakan login dengan menginputkan username dan password cPanel Anda. Setelah berhasil login, akses menu Advanced > Terminal.
3. Di Terminal, jalankan perintah di bawah untuk membuat folder baru sebagai tempat penyimpanan backup. Tujuannya agar file database tidak tercampur dengan file-file lain.
mkdir backup |
4. Kemudian, eksekusi perintah berikut untuk membackup database MySQL ke folder backup. Ingat, sesuaikan database_username, database_name, dan cpanel_username dengan detail milik Anda sendiri.
mysqldump -u database_username -p database_name > /home/cpanel_username/backup/backup_satu_database .sql |
5. Setelah itu, Anda akan diminta menginput password database MySQL sebagai validasi. Ikuti saja perintahnya.
6. Nah, ini dia hasil akhirnya:
Cara Backup Beberapa Database MySQL
Cara dump MySQL dengan Mysqldump opsi yang kedua ini berguna jika Anda ingin membackup beberapa database menjadi satu file. Caranya dengan menambahkan –databases sebagai opsi sintaks SQL Dump.
1. Masih di Terminal cPanel, jalankan perintah berikut lengkap dengan opsi –databases beserta minimal dua database yang ingin dibackup.
mysqldump -u database_username -p --databases database_name1 database_name2 > /home/cpanel_username/backup/backup_beberapa_database .sql |
2. Berikut hasilnya setelah dieksekusi:
Cara Backup Seluruh Database MySQL
Cara backup MySQL yang satu ini fungsinya untuk mencadangkan semua database tanpa terkecuali. Untuk hasil akhirnya sendiri jadi satu file backup, sama seperti poin sebelumnya. Lantas, bagaimana perintahnya?
1. Tambahkan opsi –all -databases pada sintaks Mysqldump seperti berikut:
mysqldump -u database_username -p --all-databases > /home/cpanel_username/backup/backup_seluruh_database .sql |
2. Kalau sudah, ini dia output yang muncul di layar:
Baca juga: Cara Optimasi Database MySQL
Cara Backup Database dengan Cap Waktu
Jika Anda gemar membackup database serupa di lokasi yang sama, alangkah baiknya Anda menambahkan cap waktu atau time stamp. Gunanya untuk memudahkan tracking kapan cara backup MySQL tersebut dilakukan.
1. Jalankan perintah SQL Dump lengkap dengan imbuhan time stamp seperti ini:
mysqldump -u database_username -p database_name > /home/cpanel_username/backup/backup_satu_database- $( date +%Y%m%d).sql |
2. Sintaks di atas akan menghasilkan tampilan berikut:
Cara Backup Database MySQL Terkompresi
File database MySQL Anda terlalu besar? Tenang, Anda bisa membackup database sekaligus mengkompresi ukurannya, untuk menghemat ruang penyimpanan. Caranya mudah, cukup beri imbuhan gzip seperti contoh di bawah:
1. Begini sintaks Myslqdump lengkap dengan gzip sebagai cara backup MySQL:
mysqldump -u database_username -p database_name | gzip > /home/cpanel_username/backup/backup_satu_database .sql.gz |
2. Kalau sudah, output yang tampil seperti ini:
Cara Backup Database MySQL Otomatis dengan Cron Job
Jika Anda malas atau repot membackup database MySQL secara manual, maka Cron Job adalah solusinya. Singkatnya dengan Cron Job, Anda bisa menjalankan script backup otomatis dalam rentang waktu tertentu, misalnya harian.
Nah, berikut cara menggabungkan Cron Job dengan SQL Dump sebagai cara backup MySQL otomatis:
1. Jalankan perintah di bawah untuk membuat sekaligus mengedit file Cron Job bernama .my.cnf:
nano ~/.my.cnf |
2. Anda akan menjumpai tampilan editor Nano. Di sini, salinlah script berikut. Jangan lupa untuk mengganti isian database_username dan database_password.
[client] user = database_username password = database_password |
3. Jika sudah, tekan kombinasi tombol Ctrl+X untuk menyimpan file sekaligus keluar dari Nano editor.
4. Berikutnya, beri perizinan pada file .my.cnf dengan perintah di bawah:
chmod 600 ~/.my.cnf |
5. Kemudian, buat sebuah file crontab sebagai tempat mengeksekusi sintaks Mysqldump:
crontab -e |
6. Isilah file crontab dengan perintah SQL Dump di bawah. Oh ya, angka 1(spasi)0 menunjukkan kalau proses backup database akan dilakukan setiap jam 10 pagi.
1 0 * * * mysqldump -u database_username -p database_name > /home/cpanel_username/backup/backup_cronjob- $( date +%Y%m%d).sql |
Oh ya, kami juga mengkombinasikan script di atas dengan time stamp untuk memudahkan Anda menelusuri hari di mana backup tersebut dilakukan.
7. Jika sudah, simpan perubahan di atas dengan klik esc kemudian ketik :wq. Jika sudah, ini dia outputnya:
Melihat Hasil Backup Database MySQL
Pada poin-poin sebelumnya, Anda telah mencoba berbagai variasi perintah SQL Dump sebagai cara backup MySQL. Nah, Anda tentu penasaran ingin melihat hasil akhir backup, kan? Untuk itu, ikuti langkah-langkah di bawah:
1. Pertama, silakan kembali ke dashboard cPanel. Kemudian, buka menu Files > File Manager.
2. Sampai di File Manager, silakan buka folder tempat backup yang Anda buat di awal.
3. Nah, beginilah hasil backup database MySQL yang tadi Anda buat menggunakan Mysqldump.
Sampai di sini, cara dump database MySQL melalui SQL Dump telah berhasil Anda selesaikan. Tapi jangan beranjak dulu, karena informasi di bawah ini juga tak kalah pentingnya!
Baca juga: User Privilege MySQL Hosting
Cara Restore Hasil Mysqldump
Tak lengkap rasanya belajar cara backup MySQL dengan SQL Dump tanpa mencoba cara mengembalikan atau restore database tersebut ke tempat semula. Namun sebelum praktik cara restore hasil Mysqldump, Anda perlu tahu satu hal.
Untuk merestore hasil backup, Anda lebih baik menggunakan query mysql daripada mysqldump. Sebab, Mysqldump tidak bisa mengembalikan struktur asli database beserta tabelnya. Dikhawatirkan, hal ini menyebabkan database tersebut jadi error.
Jika sudah paham, yuk cobain dua cara restore hasil backup SQL Dump berikut:
Cara Restore Database MySQL dari Backup Tunggal
Jika Anda sebelumnya hanya membackup satu database MySQL saja, gunakan perintah berikut untuk mengembalikan database tersebut.
1. Misalnya Anda ingin merestore file backup bernama backup_satu_database.sql dari folder backup, maka sintaksnya adalah:
mysql -u database_username -p database_name < /home/cpanel_username/backup/backup_satu_database .sql |
2. Nah, berikut outputnya di Terminal cPanel:
Cara Restore Satu Database MySQL dari Full Backup
Misalnya Anda membackup semua database menggunakan opsi –all-databases, tapi hanya ingin merestore salah satu database saja. Maka dari itu, pakailah opsi –one-database seperti contoh sintaks di bawah:
1. Jalankan perintah di bawah lengkap dengan opsi –one-database:
mysql -u database_username -p --one-database database_name < /home/cpanel_username/backup/backup_seluruh_database .sql |
2. Untuk hasilnya kurang lebih semacam ini:
Sampai di sini, Anda sudah belajar banyak tentang SQL Dump. Mulai dari pengertian Mysqldump, cara backup SQL serta cara restore backup menggunakan tools yang satu ini.
Baca juga: MariaDB vs MySQL
Tertarik Mencoba SQL Dump sebagai Cara Backup MySQL?
Mysqldump adalah sebuah tools sederhana dengan fungsi luar biasa, untuk memudahkan Anda membackup database MySQL. Di samping itu, cara dump database MySQL lewat SQL Dump ini masih terbilang mudah, asalkan Anda teliti dalam mengeksekusi perintah.
Nah, apakah Anda tertarik mencoba cara backup MySQL dengan Mysqldump?
Jika ya, salah satu hal yang wajib Anda persiapkan adalah web hosting yang mendukung akses SSH via terminal. Untungnya, ToberHost lewat layanan Unlimited Hosting bisa jadi pilihan yang tepat karena sudah sesuai dengan kriteria tersebut.
Selain itu, layanan ini juga dibekali keunggulan lain yang tak kalah ciamik. Sebut saja Unlimited Database di mana Anda bisa membuat database MySQL sepuasnya, atau Latest cPanel untuk memudahkan Anda mengakses menu-menu database.
Menariknya lagi, semua keunggulan di atas bisa Anda nikmati dengan harga terjangkau. Mulai dari Rp24ribuan/bulan untuk paket Personal. Yuk segera beralih ke web hosting Indonesia terbaik ToberHost sekarang!