マスターからのMySQL 8.0.18 InnoDBのクラスタ(MGR)完全なインストール構成

ヒント:MySQLのInnoDBのクラスタグループレプリケーション依存モードの基礎となる、少なくとも3台のマシン

1.三のCentOSのLinux 7(コア)を準備し、各ホストの名前を変更:DB-HOST1、DB-HOST2、DB-HOST3は、各マシンホストは、以下に対応し、マップ設定します

猫<< EOF >>の/ etc / ホスト
 192.168.50.181 DB- host1の
 192.168.50.182 DB- host2の
 192.168.50.183 DB- HOST3
EOF

3台のサーバが適切に相互にアクセスすることを確認してください2、保険の期間、ファイアウォールをオフにしてください、firewalld一般的のようなコマンドを使用:

スタート
firewalldを開始systemctl

閉じる
systemctl停止firewalld

ビューステータス
systemctlステータスfirewalld

ブートを無効
systemctl無効firewalld

電源オンは
firewalldを有効systemctl

すべての開いているポートを見る 
 ファイアウォール-CMD --zone =公共--list-ポート

DB-HOST1の実装、およびので、他:必ず使用するSSH 3.メイクはここのような、rootアカウントを使用して、訪問を共有しました:

SSH-keygenの- トンのRSA
SSH -copy-ID -iの〜/ .ssh / id_rsa.pub 192.168.50.182

SSH -keygen - トンRSA
SSH -copy-ID -iの〜/ .ssh / id_rsa.pub 192.168.50.183

4.バージョンに注意し、マシン3にインストールインストールのmysql-コミュニティサーバー、mysqlのシェルは、MySQL-ルータを準備します。

wgetのhttps://dev.mysql.com/get/mysql80-community-release-el7-3 .noarch.rpmで
RPM -ivh mysql80-コミュニティリリースel7-3 .noarch.rpmで
yumのMySQLのインストール -community、サーバーを
wgetのhttps://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell-8.0.18-1 .el7.x86_64.rpm
RPM -ivhのmysql-シェル-8.0.18-1 .el7.x86_64.rpm
yumをインストールMySQLの -shell
wgetのhttps://dev.mysql.com/get/Downloads/MySQL-Router/mysql-router-community-8.0.18-1 .el7.x86_64.rpm
RPM -ivhのmysql-ルータコミュニティ-8.0.17-1 .el7.x86_64.rpm
yumのMySQLのインストール -routerを

初期化#:インストールMysqlServer、順次各初期化のMySQL、以下の工程の後5

mysqldを- 初期化。


割り当てアクセス権:
chownコマンドのMySQL:MySQLのは/ var / libに/ MySQLの-R
スタートMySQLサービス:
systemctlスタートmysqld.service。
mysqlのカイからのブートを設定
mysqlのsystemctl mysqldを可能にします。
コマンドは、データベースのパスワードを表示する:
CATの/var/log/mysqld.logを| grepのパスワード
:mysqlのコマンドライン入力
のmysql-uroot - P(mysqlのコマンドラインにデータベースを表示するには、上記パスワードを入力してください)
#コマンドパスワードを変更するには:
で識別ALTER USER「ルート」@「localhostが」BY「パスワードをmysql_native_password 」; リモート・アクセスの作成:
ユーザー「ルート」を作成します@「%」「をパスワード」でmysql_native_passwordで識別し、
GRANT ALL権限をON * * TO「ルートを」@「%を。」WITH GRANT OPTIONを使用しました。 フラッシュ権限;

6.依存グループコピーするので、ホスト1にな/etc/my.cnf変更

SERVER_ID = 4000000161 
緩い -group_replication_group_name = " a38e32fd-5fb6-11e8-ad7a-00259015d941 " 
緩い -group_replication_local_address = " 192.168.50.181:3306 " 
ゆるい -group_replication_group_seeds = " 192.168.50.181:3306,192.168.50.182:3306,192.168.50.183: 3306 
緩い -group_replication_single_primary_mode = TRUE

図2に示すように、別のマシンにコピーされな/etc/my.cnf

rsyncの-e " sshの-p22 " -avpgolrな/etc/my.cnf [email protected]:の/ etc / 
のrsync -e " sshの-p22 " -avpgolrな/etc/my.cnf [email protected]ます。/ etc /

そのSERVER_IDとアドレスのことを確認してください。

HOST1 SERVER_ID = 4000000161   

ルーズgroup_replication_local_address = "192.168.50.181:3306"

host2の     SERVER_ID = 4000000162

ルーズgroup_replication_local_address = "192.168.50.182:3306"

HOST3     SERVER_ID = 4000000163

ルーズgroup_replication_local_address = "192.168.50.183:3306"

7.3台湾のMySQLサーバの起動グループのコピー

スタートgroup_replication

 

 

mysqlshを使用した構成例を確認してください8。

dba.checkInstanceConfiguration( 'ルート@ DB-ます。host1:3306 ')
dba.checkInstanceConfiguration( 'ルート @ DB-host2に:3306 ')
dba.checkInstanceConfiguration( 'ルート @ DB-HOST3:3306')

 

 

8.設定例

dba.configureInstance( 'DB-HOST1 @ルート:3306'、{ '再起動':})
dba.configureInstance('root@db-host2:3306',{'restart': true})
dba.configureInstance('root@db-host3:3306',{'restart': true})

 

 

9. 创建添加实例

var cluster = dba.createCluster('mycluster');
var cluster=dba.getCluster('mycluster')
cluster.addInstance('root@db-host2:3306');
cluster.addInstance('root@db-host3:3306');

10. 登录主服务器 ,查看,配置成功

mysql> select * from performance_schema.replication_group_members;

 

 

注意:由于8.0 中的一些变化和5.X配置有所配置不同,按照以前的配置容易出错,要善于对应分析日志进行排错

推荐参考资料:

https://blog.csdn.net/wzy0623/article/details/100779450

https://www.jianshu.com/p/6e2918845ec8

https://lefred.be/content/mysql-8-0-innodb-cluster-the-quick-hands-on-manual/

https://cloud.tencent.com/developer/article/1445710

 

おすすめ

転載: www.cnblogs.com/mschen/p/11869964.html