2006年4月 5日

[mysql 12916] Re: バイナリログからのデータの復旧

橋本です。

ありがとうございます。
mysqldumpするときに、ログをフラッシュ方法で、解決できそうです。


なのですが、、、また、別の問題で詰まってしまっています。

バックアップはスレーブでとるのですが、バックアップを取るときに、
タイミングを合わせて、マスターのバイナリーログをフラッシュするよりは、
スレーブ側でバイナリーログをとって、それをフラッシュしたほうが、
マスターのダウンタイムも発生しませんし、システムがシンプルになります。

そこで、スレーブ側でもバイナリーログをとる設定にしようとし、/etc/my.cnfに、
log-bin
という行を加えて、mysqlを再起動したのですが、
なぜか、スレーブ側でバイナリーログが取れません。

スレーブでバイナリーログをとるには、他に必要な設定があるのでしょうか?

よろしくお願いいたします。

06/04/04 に Yasufumi Kinoshita さんは書きました:
> こういうことでしょうか?
>
> http://lists.mysql.com/mysql-ja/184
> (リカバリーの節)
>
> 間違っていたらすみません。
> バージョンによってはオプションの綴りが違うかもしれません。
> マニュアルでご確認を。
>
> Kenta Hashimoto wrote:
> > 橋本です。
> > いつも、お世話になっております。
> >
> > バイナリログからのデータの復旧に関して質問です。
> > バイナリログから、データを復旧する場合、レプリケーションの
> > Exec_Master_Log_Posを利用して、途中から適用するできますでしょうか?
> >
> >
> > 今、DBのバックアップを取る仕組みを構築しています。
> >
> > 誤ってデータを消してしまったなどの障害が起きた場合に、
> > 一日に一度とってある、mysqldumpしたファイルを、mysqlに流し込む
> > 形で、復旧するところまではできています。
> >
> > これに加えて、さらに、バックアップをとった後に走ったクエリからも、
> > データを復旧したいと思っているのですが、そこで詰まっています。
> > アドバイスをいただけるとありがたいです。
> >
> >
> > バックアップは、以下の手順を自動化して、とっています。
> >
> > 1.レプリケーションのスレーブを、STOP SLAVEする。
> > 2.FLUSH TABLESする
> > 3.relay-log.info の、Master_Log_Fileと、Exec_Master_Log_Posを保存する
> > 4.mysqldumpで、バックアップを取る。
> > 5.レプリケーションを再開する。
> >
> > これで、データを消してしまった場合などには、このダンプファイルの時点の
> > データまでは復元できます。
> > ダンプファイルの時点まで復元した後、バイナリログからも復元したいのですが、
> > その場合は、ダンプファイルを取った時点よりも後のものだけを適用したいのです。
> >
> > mysqlbinlogには、positionという引数があるようなのですが、これは、
> > バイナリログ内での場所であって、レプリケーションのExec_Master_Log_Posとは
> > 別のもののようです。
> >
> >
> > こういう場合は、皆さんはどうしていらっしゃるのでしょうか?
> >
> > ・Exec_Master_Log_Posをもとにmysqlbinlogを使用する方法がある?
> > ・バックアップを取るときに、マスターを一度とめて、その時点でのバイナリログの場所を、
> > なんらかの方法で記録する?
> > ・バックアップを取るときに、バイナリログのファイルを新しいものにする方法がある?
> >
> > などのことを考え、調べたのですが、結局見つかりませんでした。
> >
> > よろしくお願いいたします。
> >
> >
> >
>
>
>

投稿者 xml-rpc : 2006年4月 5日 16:39
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/34446
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。