Tag Archives: mysql

Backup MySQL di Ubuntu (atau di Debian)

Cara singkat backup database MySQL di Ubuntu (atau di Debian).

Seperti yang mungkin sudah Anda tahu, di Ubuntu ada file konfigurasi /etc/mysql/debian.cnf. File itu biasanya digunakan oleh sistem untuk proses maintenance database MySQL (misal check database corrupt atau tidak ketika di awal menjalankan service mysql).

Nah, skrip di bawah ini, akan membackup semua database dan menyimpannya di BACKUP_DIR. Saya lebih memilih cara ini dibanding menggunakan perintah mysqldump --all-databases, karena dengan cara ini saya bisa dengan mudah memilih database mana yang akan di restore.

#!/bin/bash

BACKUP_DIR="/data/backups/mysql"
DATE=`date +%F_%H-%M-%S`

echo "Backing up MySQL databases..."
mysql --defaults-file=/etc/mysql/debian.cnf --batch --skip-column-names -e "show databases" |
while read DB ; do
    echo Dumping "${DB}" ...
    mysqldump --defaults-file=/etc/mysql/debian.cnf --add-drop-table "${DB}" | gzip -c > "${BACKUP_DIR}/${DB}.${DATE}.sql.gz"
done

Skrip di atas sedikit dimodifikasi dari sumber aslinya.

Backup MySQL

Saya baru merasakan betapa pentingnya backup database setelah mengalami crash pada database mysql saya. Semua data training (dspam) hilang dalam sekejap. Padahal butuh waktu satu bulan untuk mengumpulkan semua data tersebut.

Akhirnya saya buat script untuk membackup semua database mysql. Tapi ternyata setelah searching di google, ada cara yang lebih elegan. Dan tahu tidak, informasi tersebut ada di website mysql-nya itu sendiri

http://dev.mysql.com/doc/mysql/en/mysqldump.html

Posted by Christopher Huhn on July 1 2004 7:18am
You can even do your mysqldump backups with logrotate.
Simply put something like this into /etc/logrotate.conf:

/var/backups/mysql/dump.sql {
daily
rotate 14
missingok
compress
postrotate
/usr/bin/mysqldump –defaults-extra-file=/…/backup-credentials.cnf
–opt –flush-logs –all-databases > /var/backups/mysql/dump.sql
endscript
}

Buat database di MySQL

Lupa terus, setiap mau bikin, musti cari referensi di internet. OK, sekarang tiada ampun lagi, gwe musti CATET! D

Contoh:

root# mysql -u root -p
mysql> create database cecep_coppermine;
Query OK, 1 row affected (0.02 sec)

mysql> GRANT ALL on cecep_coppermine.* to cecep@localhost identified by 'passwd';
Query OK, 0 rows affected (0.01 sec)