2014年9月14日日曜日

MySQLのバックアップ

mysqlのバックアップにはmysqldumpを使うことにした

●参考
mysqldump に必要な権限
http://blog.enjoitech.jp/article/200

●権限設定
create user 'dbuser'@'localhost';
grant file on *.* to 'dbuser'@'localhost';
grant select,lock tables,show view on dbname.* to 'dbuser'@'localhost';
grant select on mysql.proc to 'dbuser'@'localhost';

●以下のようなシェルを作成
ファイル名にタイムスタンプを持たせ世代管理
なおかつ古いファイルは削除するようにした
#!/bin/bash

dttm=`date +%Y%m%d_%H%M%S`
filename=mydb_${dttm}.dmp.gz
outdir=~/out/dir/to/bkup/

echo mysqldump to ${outdir}/${filename} start

mysqldump mydb | gzip >${outdir}/${filename}

echo mysqldump end

echo delete old archive start
list=`find ${outdir} -mtime +30`
rm -v -f ${list}
echo delete old archive end

0 件のコメント:

コメントを投稿