ホームページ >データベース >mysql チュートリアル >Ubuntu16.04でMySqlのGRを使う方法を詳しく解説

Ubuntu16.04でMySqlのGRを使う方法を詳しく解説

黄舟
黄舟オリジナル
2017-03-29 13:14:292041ブラウズ

この記事では、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

インストール プロセス中に、バージョンを選択するためのインターフェイスが表示されます。 もちろん、ここではバージョン 5.7 を選択するだけです。 8.0 を選択できます

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;
4. ホストの設定

最終的な 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。