fbpx

Backup Mysql database menggunakan package mysqldump

mysqldump-by-bradzacher-cara-mudah-untuk-backup-database-mysql-di-nodejs

Backup mysql database menjadi lebih mudah menggunakan package mysqldump by bradzacher pada nodejs.

Hai, data merupakan hal yang penting dalam era seperti sekarang. Data juga disebut-sebut sebagai sebuah tambang emas / the new oil, dimana nilainya setara dengan dua komoditi tersebut di era revolusi industri 4.0 kini.

Maka dari itu pentingnya untuk menjaga basis data tersebut dari kerusakan, kehilangan, dan juga pencurian data. Pada kali ini kita akan membahas salah satu teknik untuk mengamankan data dengan cara backup data.

Spesifik lagi kita akan melakukan backup database Mysql menggunakan teknik dump data kedalam file .sql dan zip menggunakan nodejs.

Mysqldump

Banyak jalan menuju roma, banyak cara juga untuk melakukan backup database dalam hal ini mysql. Ada yang child-proses spawn dll bisa juga kalian gunakan untuk backup, sedangkan pada tutorial kali ini saya menggunakan mysqldump.

Package ini saya gunakan karena cara menggunakannya yang simple dan masih up-todate / tidak deprecated. Selain itu ada satu fitur yang juga saya butuhkan seperti melakukan kompresi / zip pada file dump sql.

Link github untuk package : mysqldump-by-bradzacher

Jadi cukup 1 function untuk melakukan dump dan zip, sangat praktis sekali. Kuy berikut adalah cara simple implementasinya.

npm install mysqldump

Pertama-tama tentunya install packagenya menggunakan npm pada project anda, kemudian import package pada baris code / page yang akan digunakan seperti berikut.

import mysqldump from 'mysqldump'; 
// or const mysqldump = require('mysqldump')

Untuk perintah dasar dumpnya adalah sebagai berikut :

mysqldump({
   connection: {
   host: 127.0.0.1,
   user: 'root',
   port: 8889, //if you're using custom port
   password: 'root',
   database: 'db_name',
});

hasil dari perintah diatas adalah string buffer data dari mysqldump. Jika Anda ingin menaruhnya kedalam variable bisa juga seperti berikut :

const result = await mysqldump({
    connection: {
        host: 'localhost',
        user: 'root',
        password: '123456',
        database: 'my_database',
    },
});

Maka result akan berisi string hasil dump. Selain itu Anda bisa juga menaruhnya kedalam file .sql dengan cara seperti berikut :

// dump the result straight to a file
mysqldump({
    connection: {
        host: 'localhost',
        user: 'root',
        password: '123456',
        database: 'my_database',
    },
    dumpToFile: './dump.sql',
});

dumpToFile adalah path dimana file akan disimpan. Masih ada satu fitur lagi, yaitu menyimpannya dalam bentuk zip / compressing file, dengan cara seperti berikut :

// dump the result straight to a compressed file
mysqldump({
    connection: {
        host: 'localhost',
        user: 'root',
        password: '123456',
        database: 'my_database',
    },
    dumpToFile: './dump.sql.gz',
    compressFile: true,
});

compressFile parameter tersebut di set true membuat file akan di compress. Untuk contoh code lengkapnya bisa seperti berikut :

const mysqldump = require('mysqldump')

// dump the result straight to a file
mysqldump({
    connection: {
        host: 'localhost',       //DBhost
        user: 'root',            //DBuser
        password: '123456',      //DBpass
        database: 'my_database', //DBname
    },
    dumpToFile: './dump.sql',    //namefile.sql
});

Catatan :
Saya menemui permasalahan dengan file kompresi pada mysqldump, ketika saya coba read file hasil kompresi tersebut dengan beberapa cara baik fs, adm-zip, yauzl file tersebut dianggap tidak sesuai atau bukan file zip / gz.

Jika teman-teman ada yang menemui masalah yang sama dan solved, bisa tinggalkan komentar dibawah ya.

So, mudah kan melakukan backup mysql database menggunakan package mysqldump milik bradzacher ini? Sampai ketemu di tutorial selanjutnya Keep Share

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Top