この記事では、Ubuntu 16.04でのMySqlのGRの使い方を中心に紹介しています。詳細については、必要な友人は
1. 序文
を参照してください。この記事は主に、後の閲覧や他の人への共有を容易にするために、純粋なシステムから MySql 5.7.17 をインストール
する方法を記録します。
2. mysql をインストールします ubuntu のデフォルトのソースは最新の mysql ではないため、以下の手順で最新のインストール パッケージをインストールする必要があります。もちろん、ここでも apt を使用してインストールします。 . apt リポジトリをダウンロードします
2. apt リポジトリをインストールします
sudo dpkg -i mysql-apt-config_0.8.3-1_all.deb
3. apt ウェアハウスをアップグレードし、mysql をインストールします
sudo apt-get update sudo apt-get install mysql-server
この時点で、主要な構成部分を最初に読むことをお勧めします。これを直接実行します
3. GR を有効にします
1. 設定を変更します
まず、/etc/mysql/ の下にある my.cnf 設定を開き、次の設定情報を書き込みます:
server_id=1 bind-address=0.0.0.0 gtid_mode=ON enforce_gtid_consistency=ON master_info_repository=TABLE relay_log_info_repository=TABLE binlog_checksum=NONE log_slave_updates=ON log_bin=binlog binlog_format=ROW transaction_write_set_extraction=XXHASH64 loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" loose-group_replication_start_on_boot=off loose-group_replication_local_address= "10.0.0.4:24901" loose-group_replication_group_seeds= "10.0.0.4:24901,10.0.0.5:24902,10.0.0.6:24903" loose-group_replication_bootstrap_group= off
説明したいのですが、「server_id」は各マシンで異なることを確認する必要があります。「loose-group_replication_group_nam」は各マシンで一貫している必要があります。残りの違いは、「loose-group_replication_local_address」を現在のマシンの IP アドレスとして指定する必要があることです。次のポートは、GR がリッスンする必要があるポートを示します。他のマシンのパラメータ「loose-group_replication_group_seeds」が正しい場合は、ポートを任意に変更します (このポートは mysql のデフォルトの 3306 ポートとは独立しています)。上記の操作が完了したら、mysql サービスを再起動します
sudo service mysql restart
2。新しいユーザーを作成します
まず現在のデータベースに接続します
mysql -u root -p
次のSQLステートメントを実行します
mysql> SET SQL_LOG_BIN=0; mysql> CREATE USER rpl_user@'%'; mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass'; mysql> FLUSH PRIVILEGES; #在从数据库不需要执行 mysql> SET SQL_LOG_BIN=1; mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass' FOR CHANNEL 'group_replication_recovery';
本番環境の場合、ユーザーはテスト用に対応するアカウントとパスワードを設定できます。 1 つを直接実行します。
3. プラグインをインストールします
必要に応じて、対応する SQL ステートメントを実行します
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
。
mysql> SHOW PLUGINS;
最終的な GR を開始する前に、対応するホストを変更し、ホスト名と IP を一致させる必要があります。そうしないと、後で接続します。mysql が依存しているため、他のノードに接続できなくなります。接続するホスト名。
hostsを開く
sudo vim /etc/hosts
以下の内容を書きます(現在の環境とマシン名はこんな感じです)
10.0.0.4 mysql-1 10.0.0.5 mysql-2 10.0.0.6 mysql-3
上記の設定が完了したら終了し、mysqlに入って実行を続けます
5. GRをオンにする
マスターノードでGRをオンにする方法は次のとおりです(初回インストール時のみ必要なので、以降は必要ありません)
mysql> SET GLOBAL group_replication_bootstrap_group=ON; mysql> START GROUP_REPLICATION; mysql> SET GLOBAL group_replication_bootstrap_group=OFF;
スレーブノードでは、次の文
mysql> START GROUP_REPLICATION;
現在の参加が成功したかどうかを確認したい場合は、次のステートメントで確認できます:
mysql> SELECT * FROM performance_schema.replication_group_members;
他のスレーブノードは上記の手順に従うだけです。テストでは、マスター ノードに新しいデータベースを作成し、テーブルを作成してデータを書き込む必要があります。他のデータベースも同期されます。次に、メイン ノードを閉じた後、次のステートメントを通じてどのノードが現在メイン ノードであるかをクエリできます。
以上がUbuntu16.04でMySqlのGRを使う方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。