MySQL

説明

mysqldumpや物理ファイルバックアップでロールバックする以外に、ロールフォワードする場合は下記バイナリログの出力設定が必要です。

設定内容

# vi /etc/my.cnf
---
[mysqld]
log-bin=mysql-bin
expire_logs_days = 7
---
期限は運用に併せて。
# /etc/init.d/mysqld restart

バイナリログの期限変更(再起動不要)

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時にバイナリログをローテーションする

--flush-logsオプションをつけることでローテーションされます。
# mysqldump -u root -p --flush-logs --single-transaction --order-by-primary --events -A > mysqldump.all.sql

バイナリログを有効にしている場合のmysqldumpオプション

--master-data=2を追加することで、CHANGE MASTER TOはコメントアウトにしつつ、バイナリログのポジションをdumpに記載することができます。

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-06-30 (木) 01:40:11