MySQL InnoDB Cluster 環境構築手順メモ

この記事は2017年5月30日に公開したものです。情報が古い可能性がありますのでご注意ください。

はじめに

検証用にInnoDB Cluster(Group Replication + MySQL Shell + MySQL Router)の環境を作ってみましたので、その際の構築手順のメモ書きです。

続きを読む »

このエントリーをはてなブックマークに追加

Ubuntu 16.04 LTSでMulti-PrimaryなMySQL Group Replication構築手順メモ

この記事は2017年5月16日に公開したものです。情報が古い可能性がありますのでご注意ください。

はじめに

MySQLのレプリケーションは、あるMySQLデータベースから、別のMySQLデータベースへデータや操作(DDL)を反映して複製を作成します。

従来のレプリケーションはプライマリ・セカンダリの構成となり、特定の1つのMySQLデータベースサーバ(マスター)のデータを、1つまたは複数のMySQLデータベースサーバー(スレーブ)に複製することでした。データは非同期、または準同期でマスターからスレーブへコピーされます。通常、マスターとなるデータベースサーバは読み取り書き込み操作を行うことができ、スレーブとなるデータベースサーバは読み取りのみで通常はデータ書き込みを実行できませんでした。マスターは1つのみとなるため、マスターの冗長化を行う場合にはクラスタリングソフトウェアを使うなどのアプローチが必要でした。

MySQL 5.7.17 で取り入れられた Group Replication は、より柔軟で可用性の高いレプリケーション構成するためのMySQLのプラグインで、Group ReplicationはMySQL5.7.12で取り入れられた「Rapidプラグイン(新機能をプラグインとして提供するMySQL5.7.12からの仕組み)」として提供されているようです。
マスターデータベースの冗長化を目的とした機能で、マルチマスターのレプリケーション構成を行うための仕組みがMySQLの機能として実装されています。

グループ内で実行されたトランザクションを識別するためにGTIDを用いており、さらにXCOMと呼ばれる、Paxosという合意アルゴリズムをベースとした仕組みを用いて、グループ内のメンバーへのトランザクションのブロードキャストやメンバー間の認証の管理が行われているようです。

以下ではマルチマスタなGroupReplicationを構成するための基本的な手順を記載します。
続きを読む »

このエントリーをはてなブックマークに追加