SH2先生がmysqlbinlogについて何か企んでいるそうです

きっとまとめてくれるんだというプレッシャーをこめつつメモ。
2
SH2 @sh2nd

mysqldumpの--read-from-remote-server自体は昔からあったのね

2014-05-25 16:07:32
SH2 @sh2nd

--stop-neverが新しいのか

2014-05-25 16:12:55
SH2 @sh2nd

ああ--rawも新しいのか

2014-05-25 16:29:12
yoku0825 @yoku0825

@sh2nd ついでに、--read-from-remote- "master" も新しかったかと。

2014-05-25 18:28:48
yoku0825 @yoku0825

@sh2nd --read-from-remote-serverとの違いがよくわかっていません(・∀・)

2014-05-25 18:33:21
SH2 @sh2nd

@yoku0825 GTIDの扱いが異なるくらい?

2014-05-25 18:47:38
SH2 @sh2nd

メモ:open("mysql-binlog.000005", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 4

2014-05-27 09:30:21
SH2 @sh2nd

mysqlbinlog --read-from-remote-server --to-last-log --raw --stop-never って広くおすすめしていいものなのかどうか

2014-05-27 22:43:50
yoku0825 @yoku0825

@sh2nd --stop-neverなら--to-last-logいらない気がします :) 使おうと画策はしたんですが、1時間おきのrsyncと比べて画期的に何かがよくなるわけでもないので、差し替えは見送りました。1週間くらいは問題なく動いてました。

2014-05-27 22:47:32
SH2 @sh2nd

rsyncに比べて、mysqld再起動した時とか、バックアップ側再起動した時にケアしないといけないよね。まあこれくらい書けば十分なのかな mysqlperformanceblog.com/2012/01/18/bac…

2014-05-27 22:48:07
SH2 @sh2nd

いやー /etc/init.d にちゃんと起動停止スクリプトぐらいは書かないと

2014-05-27 22:49:25
SH2 @sh2nd

@yoku0825 ありがとうございます!

2014-05-27 22:50:03
SH2 @sh2nd

rsyncとの比較表を作るか

2014-05-27 22:53:30
yoku0825 @yoku0825

@sh2nd mysqld_safeっぽく、フォアグラウンドで呼んであげて、mysqlbinlogが落ちたら制御戻ってくるようなスクリプトが相性良かったです。ついでにログファイル名をSHOW MASTER LOGSから引っ張ってくるようにラップしたりしてました。

2014-05-27 22:54:48
SH2 @sh2nd

@yoku0825 ありがとうございます。多少作り込みがいるというのがちょっと気になりますね~

2014-05-27 22:57:57
SH2 @sh2nd

@yoku0825 なるほど暗号化しない分だけCPUは軽そうですねえ

2014-05-27 23:01:58
SH2 @sh2nd

あと--stop-neverするならデータロスがないSemi-Syncを期待しちゃうけど、本家は未対応だから結局どこまでのデータがバックアップされているのかはベストエフォートなんよね。1時間に1回rsyncをする方法は、戻り値0ならそこまでのデータは確保されていることが分かる

2014-05-27 23:34:45
SH2 @sh2nd

あるいは--stop-neverを外して--to-last-logを入れる。それなら戻り値0ならそこまでのデータは取れたことが分かる。でもそれなら別にrsyncでいいじゃんという

2014-05-27 23:35:38
SH2 @sh2nd

SHOW BINARY LOGSに相当するinformation_schemaテーブルってないのか。別にいいけど

2014-05-28 00:51:13
SH2 @sh2nd

SHOW BINARY LOGSにLIMITが付けばいいのに、あるいはinformation_schemaにバイナリログ関連の情報があればいいのに

2014-05-31 19:13:59
SH2 @sh2nd

mysqlbinlog --read-from-remote-server --stop-never、mysqldをshutdownした場合戻り値0で止まる

2014-05-31 20:22:06
SH2 @sh2nd

mysqldをkill -9したときはERROR: Got error reading packet from server: Lost connection to MySQL server during queryで戻り値1

2014-05-31 20:23:34
SH2 @sh2nd

Ctrl-Cとかで止めたときはPOSIX的に戻り値128+シグナル番号

2014-05-31 20:28:26