MySQL
説明 [#k11817c7]
mysqldumpや物理ファイルバックアップでロールバックする以外に、ロールフォワードする場合は下記バイナリログの出力設定が必要です。
設定内容 [#bc3106f7]
# vi /etc/my.cnf
---
[mysqld]
log-bin=mysql-bin
expire_logs_days = 7
---
期限は運用に併せて。
# /etc/init.d/mysqld restart
バイナリログの期限変更(再起動不要) [#h6eb8151]
MySQLの公式サイトにもオンライン変更yesとなっているので、setで変更可能です。
# mysql -u root -p
mysql> SET GLOBAL expire_logs_days = 5;
Query OK, 0 rows affected (0.06 sec)
mysql> SHOW GLOBAL VARIABLES like 'expire_logs_days';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| expire_logs_days | 5 |
+------------------+-------+
1 row in set (0.00 sec)
参考URL:http://d.hatena.ne.jp/omiyan/20110128/p1
mysqldump時にバイナリログをローテーションする [#w51f19f6]
--flush-logsオプションをつけることでローテーションされます。
# mysqldump -u root -p --flush-logs --single-transaction --order-by-primary --events -A > mysqldump.all.sql
バイナリログを有効にしている場合のmysqldumpオプション [#f66344e0]
--master-data=2を追加することで、CHANGE MASTER TOはコメントアウトにしつつ、バイナリログのポジションをdumpに記載することができます。