Cara Backup Database di MySQL

Membuat backup database perlu dilakukan sebelum instal ulang server atau untuk berjaga-jaga bila terjadi sesuatu yang tidak diinginkan.

Untuk membuat Backup bisa dilakukan melalui phpMyAdmin dengan cara mengekspor semua database atau melalui CLI dengan mysqldump

Backup semua database

mysqldump -u username -p --all-databases > cadangan.sql

Jika memiliki beberapa database dan ingin Anda pisah satu per satu maka gunakan perintah berikut

for x in `echo "show databases" | mysql | grep -v Database`; do mysqldump "$x" > "$x".sql

Backup semua database dengan script

#!/bin/bash

BACKUPDIR="/home/dbbackups/"

if [ ! -e $BACKUPDIR ]; then
mkdir -p $BACKUPDIR
chmod 700 $BACKUPDIR
fi

for x in `mysqlshow | grep -v \_schema | awk -F "| " '{print $2}'`; do mysqldump $x | bzip2 -9czq > $BACKUPDIR$x-sql.bz2; done

Backup Structure saja

mysqldump -u username -p --all-databases --no-data > cadangan.sql

Backup Routine dan Trigger

mysqldump -u username -p db_name --routines --triggers > db_backup.sql

Backup database dengan phpMyAdmin

  1. Buka phpMyAdmin
  2. Pilih Database
  3. Pilih Export
  4. Klik Go
  5. Pilih Custom apabila ingin export data atau struktru database saja

Restore Database

mysql -u username -p < cadangan.sql

Jika hanya ingin import satu database bisa dengan perintah

mysql -u username -p db < cadangandb.sql

Menggunakan perintah source pada mysql shell.

mysql -u username -p db

mysql> source cadangandb.sql;

Restore dengan phpMyAdmin

  1. Buka phpMyAdmin
  2. Pilih Database
  3. Pilih Import
  4. Pilih dan upload file .sql
  5. Klik Go