這篇文章給大家分享的是有關(guān)如何搭建MySQL Group Replication測試環(huán)境的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比旺蒼網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式旺蒼網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務覆蓋旺蒼地區(qū)。費用合理售后完善,十載實體公司更值得信賴。
最近看了下MySQL 5.7中的閃亮特性Group Replication,也花了不少做了些測試,發(fā)現(xiàn)有些方面的表現(xiàn)確實不賴。當然要模擬這么一套環(huán)境還是需要花不少的功夫的,一般來說都是3個節(jié)點的環(huán)境,實際中要找這樣的環(huán)境也不是很容易。我們怎么快速模擬呢。一種方式就是在一臺服務器上搭建多實例。
這樣一來,服務器的問題就解決了,下面要解決的問題就要艱巨的多了,那就是部署環(huán)境。
可以看到各路博客中都有了詳細的解釋,而官方文檔中對于搭建過程也花了不少的額篇幅來解釋,每一個步驟,每個操作,每個參數(shù)的含義。但是盡管如此,一次性成功搭建出這個環(huán)境的成功概率還是很低。初始化的部分不說,總是在添加節(jié)點的時候會有一些問題,這些問題折磨了我好些天,很多時候排查問題要做減法,也算是熟能生巧吧。搭建了十多遍,我也把自己的經(jīng)驗簡單總結(jié)出來。這樣的一個精華就是腳本了。
當然這是一個很初始的腳本,沒有動態(tài)變量,沒有復雜的條件判斷,我就是順序累了這么些代碼,反復嘗試,算是可以在一分鐘內(nèi)搭建出一個符合基本要求的環(huán)境。
我就直接上一個比較簡單的腳本,其實嚴格來說不算是腳本。初始化環(huán)境的部分
mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/home/mysql/data/s1 --explicit_defaults_for_timestamp
mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/home/mysql/data/s2 --explicit_defaults_for_timestamp
mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/home/mysql/data/s3 --explicit_defaults_for_timestamp
配置參數(shù)文件
chown -R mysql:mysql s1 s2 s3
cp s1.cnf s1
cp s2.cnf s2
cp s3.cnf s3
chown -R mysql:mysql s1 s2 s3
啟動MySQL服務
/usr/local/mysql/bin/mysqld_safe --defaults-file=/home/mysql/data/s1/s1.cnf &
/usr/local/mysql/bin/mysqld_safe --defaults-file=/home/mysql/data/s2/s2.cnf &
/usr/local/mysql/bin/mysqld_safe --defaults-file=/home/mysql/data/s3/s3.cnf &
中間停頓幾秒,保證服務能夠正常啟動
sleep 10
連接到各個實例查看是數(shù)據(jù)庫是否可用
/usr/local/mysql/bin/mysql -P24081 -S /home/mysql/s1.sock -e "show databases"
/usr/local/mysql/bin/mysql -P24082 -S /home/mysql/s2.sock -e "show databases"
/usr/local/mysql/bin/mysql -P24083 -S /home/mysql/s3.sock -e "show databases"
連接到第一個節(jié)點,運行下面的腳本,初始化安裝GR插件,做一個基本的配置mysql -P24081 -S /home/mysql/s1.sock -e "
SET SQL_LOG_BIN=0;
CREATE USER rpl_user@'%';
GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass';
FLUSH PRIVILEGES;
SET SQL_LOG_BIN=1;
CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass'
FOR CHANNEL 'group_replication_recovery';
INSTALL PLUGIN group_replication SONAME 'group_replication.so';
SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;
select *from performance_schema.replication_group_members;
"
連接到第二個節(jié)點,初始化GR插件和基礎(chǔ)配置,和第一個節(jié)點略有不同。mysql -P24082 -S /home/mysql/s2.sock -e "
SET SQL_LOG_BIN=0;
CREATE USER rpl_user@'%';
GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass';
SET SQL_LOG_BIN=1;
CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass'
FOR CHANNEL 'group_replication_recovery';
INSTALL PLUGIN group_replication SONAME 'group_replication.so';
set global group_replication_allow_local_disjoint_gtids_join=on;
start group_replication;
select *from performance_schema.replication_group_members;
"
連接到第二個節(jié)點,初始化GR插件和基礎(chǔ)配置,和第一個節(jié)點略有不同。mysql -P24083 -S /home/mysql/s3.sock -e "
SET SQL_LOG_BIN=0;
CREATE USER rpl_user@'%';
GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass';
SET SQL_LOG_BIN=1;
CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass'
FOR CHANNEL 'group_replication_recovery';
INSTALL PLUGIN group_replication SONAME 'group_replication.so';
set global group_replication_allow_local_disjoint_gtids_join=on;
start group_replication ;
select *from performance_schema.replication_group_members;
"參數(shù)文件的模板如下,除了紅色的部分,其它都保持不變即可。這里我使用的端口是24801,不是默認的3306,當然這個沒有限制。
[mysqld]
# server configuration
datadir=/home/mysql/data/s1
basedir=/usr/local/mysql
port=24801
socket=/home/mysql/s1.sock
server_id=1
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="1bb1b861-f776-11e6-be42-782bcb377193"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "127.0.0.1:24901"
loose-group_replication_group_seeds= "127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"
loose-group_replication_bootstrap_group= off
運行腳本的輸出如下,最后會顯示節(jié)點都添加成功。
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| group_replication_applier | b3684636-f83d-11e6-bd53-782bcb377193 | grtest | 24801 | ONLINE |
| group_replication_applier | b4a7d208-f83d-11e6-be4e-782bcb377193 | grtest | 24802 | ONLINE |
| group_replication_applier | b5eecf1d-f83d-11e6-80d7-782bcb377193 | grtest | 24803 | ONLINE |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
感謝各位的閱讀!關(guān)于“如何搭建MySQL Group Replication測試環(huán)境”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
本文標題:如何搭建MySQLGroupReplication測試環(huán)境
分享鏈接:http://www.rwnh.cn/article36/ipcspg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、域名注冊、企業(yè)建站、軟件開發(fā)、手機網(wǎng)站建設(shè)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)