MySQLバックアップ
今回は、MySQLのバックアップをやってみましょう。
1.バックアップするフォルダ、初期ファイル、シェルファイルを作成
# mkdir /var/backup # mkdir /var/backup/mysql # touch /var/backup/mysql/bak.sql # touch /var/backup/mysql/mysql_backup.sh
2.mysqldumpコマンドでデータベース全体をバックアップする。
○mysql_backup.sh
bak=`date +%y%m%d` cp /var/backup/mysql/bak.sql /var/backup/mysql/$bak.sql mysqldump --user=admin \ --password=****** \ --default-character-set=utf8 \ --socket=/var/lib/mysql/mysql.sock \ --all-databases > /var/backup/mysql/$bak.sql bak2=`date --date "14 days ago" +%y%m%d` rm -f /var/backup/mysql/$bak2.sql
3.cron設定
crontab -e
viが開くので
0 4 * * * /var/backup/mysql/mysql_backup.sh
↑と記述。
4.リストアの方法(2007年10月1日の分をリストアする場合)
$ mysql --user=admin --password=****** \ --socket=/var/lib/mysql/mysql.sock \ --default-character-set=utf8 < /var/backup/mysql/071001.sql
さらに、他サーバーへ差分バックアップするとよいでしょう。
※はまりどころ。
/var/backup/mysql/mysql_backup.sh
↑このファイルに実行権を与えないと、cronが実行できないので注意!
# chmod 700 /var/backup/mysql/mysql_backup.sh
などしてください。