久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MYSQL Group Replication的搭建過程

159次閱讀
沒有評論

共計 5486 個字符,預計需要花費 14 分鐘才能閱讀完成。

這篇文章主要介紹“MYSQL Group Replication 的搭建過程”,在日常操作中,相信很多人在 MYSQL Group Replication 的搭建過程問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MYSQL Group Replication 的搭建過程”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!

1.
環境準備
操作系統 redhat linux 6.8
虛擬機 3 臺
一臺用于 primary, 另外兩臺用于做 secondary
注意:
請先設置好各個主機的 hostname 與 /etc/hosts
mysql 版本: mysql-5.7.20
主名 ip 地址 在 mgr 中的角色

mgrhost01  192.168.43.143 primary

mgrhost02 192.168.43.144 seconde

mgrhost03 192.168.43.145 seconde

2.
安裝 mysql 數據服務
 cd /tmp/
 wget
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

 tar -xvf
mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
 cd /usr/local/
 ln -s
mysql-5.7.20-linux-glibc2.12-x86_64 mysql

注意:三個環境都需要安裝

在三臺主機上執行以下命令:
mkdir -p /database/mysql/data/3306
useradd mysql
chown -R mysql:mysql /database/mysql/data/3306
chown -R mysql:mysql /usr/local/mysql*

3. 配置 mysql 服務
三臺主機都增加配置文件: /etc/my.cnf

其中 143 的配置文件內容:
basedir=/usr/local/mysql/

datadir=/database/mysql/data/3306

port=3306

socket=/tmp/mysql.sock

server_id=143

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=mysql-bin

binlog_format=row

relay-log-recovery=1

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=
192.168.43.143:33060

loose-group_replication_group_seeds=
192.168.43.143:33060,192.168.43.144:33060,192.168.43.145:33060

loose-group_replication_bootstrap_group=
off

192.168.43.144 的 /etc/my.cnf

[mysqld]

basedir=/usr/local/mysql/

datadir=/database/mysql/data/3306

port=3306

socket=/tmp/mysql.sock

server_id=144

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=mysql-bin

binlog_format=row

relay-log-recovery=1

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=
192.168.43.144:33060

loose-group_replication_group_seeds=
192.168.43.143:33060,192.168.43.144:33060,192.168.43.145:3306

loose-group_replication_bootstrap_group=
off

192.168.43.145 的 /etc/my.cnf
[mysqld]

basedir=/usr/local/mysql/

datadir=/database/mysql/data/3306

port=3306

socket=/tmp/mysql.sock

server_id=145

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=mysql-bin

binlog_format=row

relay-log-recovery=1

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=
192.168.43.145:33060

loose-group_replication_group_seeds=
192.168.43.143:33060,192.168.43.144:33060,192.168.43.145:3306

loose-group_replication_bootstrap_group=
在這里有一些技術細節要說明一下:

上面的三個配置文件省略了所有不必要的配置項、但是看起來還是有點多、這些都是 mgr 環境要求的。

server_id 每個實例都要不要樣

loose-group_replication_group_name:為 mgr 高可用組起一個名字,這個名字一定要是 uuid 格式的。

loose-group_replication_local_address:mgr 各實例之前都是要進行通信的、這個配置項設置的就是本實例所監聽的 ip:端口

loose-group_replication_group_seeds:各 mgr 實例所監聽的 ip: 端口信息
三個環境初始化 mysql(注意,此處 mysql 的 root 用戶密碼會被設置為空值):

/usr/local/mysql/bin/mysqld –defaults-file=/etc/my.cnf
–datadir=/database/mysql/data/3306/ –user=mysql –initialize-insecure

三個環境將 mysql 加入系統服務
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld

chkconfig mysqld on

修改環境變量:
echo PATH=/usr/local/mysql/bin/:$PATH /etc/profile

啟動 mysql 服務:
service mysqld start

停止 mysql 服務:
service mysqld stop

4. 配置 MGR

  4.1 創建 mgr 所需的用戶(第一個節點)
  set
sql_log_bin=0;

  create
user mgruser@ % identified by mtls@352

  grant
replication slave,replication client on *.* to mgruser@ %

  create
user mgruser@ 127.0.0.1 identified by mtls@352

  grant
replication slave,replication client on *.* to mgruser@ 127.0.0.1

  create
user mgruser@ localhost identified by mtls@352

  grant
replication slave,replication client on *.* to mgruser@ localhost

set
sql_log_bin=1;

 4.2 配置復制所使用的用戶
  change master to

  master_user= mgruser ,

  master_password= 123456

  for channel group_replication_recovery
 

4.3  安裝 MGR 插件  install plugin group_replication soname  group_replication.so

4.4.  初始化一個復制組
   set global
group_replication_bootstrap_group=on;

start
group_replication;

set
global group_replication_bootstrap_group=off;
 

4.5. 配置 MGR 的第二個節點
set sql_log_bin=0;

  create user mgruser@ % identified by
123456

  grant replication slave,replication client
on *.* to mgruser@ %

  create user mgruser@ 127.0.0.1 identified
by 123456

  grant replication slave,replication client
on *.* to mgruser@ 127.0.0.1

  create user mgruser@ localhost identified
by 123456

  grant replication slave,replication client
on *.* to mgruser@ localhost

set
sql_log_bin=1;

 change master
to

  master_user= mgruser ,

  master_password= 123456

  for channel group_replication_recovery

install plugin group_replication soname  group_replication.so  start group_replication;

使用以上腳本依次處理剩余節點。

驗證:

至此,配置完成

mgr 中所有的結點都屬于一個邏輯上的組、這個組就像是 QQ 群一樣、是由群主建起來的、有了這個上組之后、其它的結點就可以加入到這個組中來了。

搭建中的注意項:

1. 
安裝虛擬機操作系統時,因 hostname 安裝時未能設置好,修改了 hostname, 重啟了操作系統之后,group_replication 不能正常啟動
mysql start group_replication;

set global group_replication_bootstrap_group=off;

ERROR 3094
(HY000): The START GROUP_REPLICATION command failed as the applier module
failed to start.
 

在參數文件 /etc/my.cnf 中加入了 relay-log-recovery= 1 之后,才正常啟動復制

2. 安裝 mysql 服務前,最好先設置好 hostname 與 /etc/hosts

本案例中 /etc/hosts 的內容為:

192.168.43.143
mgrhost01

192.168.43.144
mgrhost02

192.168.43.145 mgrhost03

3. select * from performance_schema.replication_group_members ;  這個 SQL 查詢的列的 member_state 字段應都為 state 才是正常的

到此,關于“MYSQL Group Replication 的搭建過程”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-28發表,共計5486字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 沙坪坝区| 高安市| 隆回县| 随州市| 栾川县| 福海县| 婺源县| 丰城市| 固镇县| 方城县| 阳春市| 桑植县| 望江县| 长海县| 隆化县| 南康市| 太仆寺旗| 土默特左旗| 福建省| 上虞市| 博乐市| 灵川县| 石景山区| 永平县| 松溪县| 仪陇县| 郎溪县| 北碚区| 英吉沙县| 乾安县| 长垣县| 江川县| 阳原县| 葫芦岛市| 大足县| 洪泽县| 福建省| 大洼县| 新河县| 巴里| 益阳市|