[[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に記載することができます。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS