タグ

MySQLとGTIDに関するpick_mugetuのブックマーク (4)

  • クラッシュセーフなスレーブ - interdb’s blog

    MySQLでslaveをクラッシュセーフ*1にするには、 MySQL 5.6以上 relay_log_recovery=ON relay_log_info_repository=TABLE というセッティングが必要。詳細は"こちら"、翻訳版は"こちら"。 ざっくり言えば、リレーログのreplayと同じトランザクションで、InnoDBテーブルにリレーログの情報を書き込みcommitするので、大丈夫だよというお話。 MariaDBがこの機能に追従しないので、どうしたんだろうと思っていたら、MariaDBはGTIDのreplay状態などをgtid_slave_posというInnoDBテーブルに書き込むという技術的選択をしていた。もちろん、書き込むタイミングはreplayとおなじトランザクション。 よって、MariaDB10.0以降は、GTIDを設定すればslaveがクラッシュセーフになる。Mar

    クラッシュセーフなスレーブ - interdb’s blog
  • 大規模環境でMySQLのGTIDを適用して得られた教訓 | Yakst

    MySQL 5.6からの機能であるGTIDを、Facebookの環境に適用した際の流れと主な不具合、そしてそれらの修正点について、Facebookのエンジニアによるまとめ。 by Evan Elias and Santosh Praneeth Banda Global Transaction ID (GTID)は、MySQL 5.6の新機能の中でも最も使わずにはいられない機能の一つだ。このおかげで、フェイルオーバやポイントインタイムリカバリ、階層を持ったレプリケーションなどに非常に有益だし、クラッシュセーフなマルチスレッドレプリケーションの必須条件にもなっている。この数ヶ月で、我々はFacebookの全ての番用MySQLインスタンスで、GTIDを有効にした。その中で、この機能の適用方法や操作について、たくさんの知見が得られた。たくさんのサーバサイドの修正事項については、WebScaleS

    大規模環境でMySQLのGTIDを適用して得られた教訓 | Yakst
  • MySQL5.6新機能のGTID(Gloval Transaction ID)を試す – sawara.me

    MySQL5.6(正確には5.6.5)よりGTIDという機能がつきました。 GTIDとはその名の通りトランザクションにグローバルなIDが付与されるんですが、これで何が嬉しいのかってマスターのポジションを指定せずともレプリケーションが組めてしまうんですな。 また、新機能のmysqlfailoverはGTIDを利用してフェイルオーバーを実現しているので、これは是非とも試さなければ、ってことで実際に試してみたので、メモとして残して起きます。 MySQLサーバー構成 シンプルにサーバー1(192.168.1.1)をマスターに、シンプルにサーバー2(192.168.1.2)をスレーブとして動作させます。 my.cnf設定 各サーバー以下の様にmy.cnfを設定します。 [bash title=”my.cnf@server1(マスター)”] server-id=1 log-bin=mysql-bin

    MySQL5.6新機能のGTID(Gloval Transaction ID)を試す – sawara.me
  • MySQLレプリケーションの運用が劇的変化!!GTIDについて仕組みから理解する

    メリークリスマス!!やあ、良い子のみんな!!サンタクロース・・・ではなく、ヒゲモジャギークからのクリスマスプレゼントだよ!! というわけで、MySQL Casual Advent Calendarの25日目である。今朝Advent Calendarを覗いてみると、日分のエントリーが無かったので、急遽書くことにした。Advent Calendar最後の日、クリスマスを飾る記事のテーマはGTIDだ。 前回の投稿では、MySQL 5.6の目玉機能として、レプリケーションがクラッシュセーフになったことを挙げた。レプリケーションまわりで言えば、もうひとつ外せない目玉機能がある。それがGTID(Global Transaction ID)である。 GTIDは良くも悪くもレプリケーションの運用を変化させる。GTIDを使うことによって得られる最大のメリットは、CHANGE MASTER TOでバイナリロ

    MySQLレプリケーションの運用が劇的変化!!GTIDについて仕組みから理解する
  • 1