久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL 8.0.15配置MGR單主多從的方法

瀏覽:21日期:2023-10-09 13:58:46

一、簡介

MySQL Group Replication(簡稱MGR)字面意思是mysql組復(fù)制的意思,但其實他是一個高可用的集群架構(gòu),暫時只支持mysql5.7和mysql8.0版本.

是MySQL官方于2016年12月推出的一個全新的高可用與高擴(kuò)展的解決方案,提供了高可用、高擴(kuò)展、高可靠的MySQL集群服務(wù).

也是mysql官方基于組復(fù)制概念并充分參考MariaDB Galera Cluster和Percona XtraDB Cluster結(jié)合而來的新的高可用集群架構(gòu).

MySQL Group Replication是建立在基于Paxos的XCom之上的,正因為有了XCom基礎(chǔ)設(shè)施,保證數(shù)據(jù)庫狀態(tài)機(jī)在節(jié)點間的事務(wù)一致性,才能在理論和實踐中保證數(shù)據(jù)庫系統(tǒng)在不同節(jié)點間的事務(wù)一致性。

由一般主從復(fù)制概念擴(kuò)展,多個節(jié)點共同組成一個數(shù)據(jù)庫集群,事務(wù)的提交必須經(jīng)過半數(shù)以上節(jié)點同意方可提交,在集群中每個節(jié)點上都維護(hù)一個數(shù)據(jù)庫狀態(tài)機(jī),保證節(jié)點間事務(wù)的一致性。

優(yōu)點:

高一致性,基于原生復(fù)制及paxos協(xié)議的組復(fù)制技術(shù).

高容錯性,有自動檢測機(jī)制,當(dāng)出現(xiàn)宕機(jī)后,會自動剔除問題節(jié)點,其他節(jié)點可以正常使用(類似zk集群),當(dāng)不同節(jié)點產(chǎn)生資源爭用沖突時,會按照先到先得處理,并且內(nèi)置了自動化腦裂防護(hù)機(jī)制.

高擴(kuò)展性,可隨時在線新增和移除節(jié)點,會自動同步所有節(jié)點上狀態(tài),直到新節(jié)點和其他節(jié)點保持一致,自動維護(hù)新的組信息.

高靈活性,直接插件形式安裝(5.7.17后自帶.so插件),有單主模式和多主模式,單主模式下,只有主庫可以讀寫,其他從庫會加上super_read_only狀態(tài),只能讀取不可寫入,出現(xiàn)故障會自動選主.

缺點:

還是太新,不太穩(wěn)定,暫時性能還略差于PXC,對網(wǎng)絡(luò)穩(wěn)定性要求很高,至少是同機(jī)房做.

二、環(huán)境介紹

MySQL版本:8.0.15

數(shù)據(jù)庫端口:3306

集群復(fù)制端口:33006

MGR插件:group_replication.so

10.115.88.18:單主

10.115.88.19:從

10.115.88.20:從

三、安裝MySQL 8.0.15

3.1.1 下載地址:

https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.15-linux-glibc2.12-x86_64.tar

3.1.2: 安裝數(shù)據(jù)庫

解壓

tar -xf mysql-8.0.15-linux-glibc2.12-x86_64.tar -C /home/work

進(jìn)入解壓目錄

cd /home/worktar xf mysql-8.0.15-linux-glibc2.12-x86_64.tar.gzmv mysql-8.0.15-linux-glibc2.12-x86_64 mysqlrm -rf *.xz

授予權(quán)限并創(chuàng)建數(shù)據(jù)目錄

cd /home/worktar xf mysql-8.0.15-linux-glibc2.12-x86_64.tar.gzmv mysql-8.0.15-linux-glibc2.12-x86_64 mysqlrm -rf *.xz chown -R work:work mysql mkdir data chown work:work data cd /home/work/mysql cd /home/work mkdir /home/work/relaylog chown -R work:work relaylog cd /home/work/mysql mkdir run chown -R work:work run

添加my.cnf文件

[client]default-character-set=utf8socket=/home/work/mysql/run/mysql.sock[mysqld]user = work port = 3306basedir=/home/work/mysqldatadir=/home/work/datasocket=/home/work/mysql/run/mysql.sockpid-file=/home/work/mysql/run/mysqld.pid# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0lower_case_table_names = 1server-id = 183306 log-bin = mysql-binlog-bin-index = binlogs.indexbinlog_format = rowbinlog_rows_query_log_events = onbinlog_checksum = noneslave-parallel-type = LOGICAL_CLOCKslave-parallel-workers = 4slave_preserve_commit_order = 1#GITDgtid_mode = onenforce_gtid_consistency = 1log-slave-updates = 1binlog_gtid_simple_recovery = 1relay_log = /home/work/relaylog/relay.logrelay-log-index = /home/work/relaylog/relay.indexmaster_info_repository = tablerelay_log_info_repository = tableplugin_load='group_replication=group_replication.so'#MGR#GR配置項 基中l(wèi)oose前綴表示若group Replication plugin未加載 mysql server仍明治維新啟動transaction_write_set_extraction = XXHASH64 #對每個事務(wù)獲取write set,并且用XXHASH64算法獲取hash值loose-group_replication_group_name = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa' #組名,此處可拿select.uuid()生成loose-group_replication_start_on_boot = off #在mysqld啟動時不自動啟動組復(fù)制loose-group_replication_local_address = '10.115.88.18:33006' #本節(jié)點的IP地址和端口,注意該端口是組內(nèi)成員之間通信的端口,而不是MySQL對外提供服務(wù)的端口loose-group_replication_group_seeds = '10.115.88.18:33006,10.115.88.19:33006,10.115.88.20:33006' #種子節(jié)點的IP和端口號,新成員加入到集群的時候需要聯(lián)系種子節(jié)點,啟動集群的節(jié)點不使用該選項loose-group_replication_bootstrap_group = off #關(guān)閉,如果打開會造成腦裂 #是否啟動集群,注意,該選項任何時候只能用于一個節(jié)點,通常情況下啟動集群的時候使用,啟動之后需要關(guān)閉該選項loose-group_replication_member_weight = 50 #權(quán)重選擇skip-host-cacheskip-name-resolveskip-external-lockingcharacter-set-server=utf8lower_case_table_names=1event_scheduler=onlog_bin_trust_function_creators=onmax_connections = 3000 external-locking = FALSE max_allowed_packet = 32M sort_buffer_size = 8M join_buffer_size = 2M thread_cache_size = 300 #query_cache_size = 64M #query_cache_limit = 4M read_rnd_buffer_size = 8Minnodb_buffer_pool_size = 8096Minnodb_log_file_size = 128Minnodb_log_files_in_group = 2innodb_log_buffer_size = 2Minnodb_flush_log_at_trx_commit = 1sync_binlog = 1[mysqld_safe]log-error=/home/work/data/err.log

初始化數(shù)據(jù)庫

bin/mysqld --initialize --basedir=/home/work/mysql --lower-case-table-names=1 --datadir=/home/work/data/ --user=work

拷貝啟動文件

cp support-files/mysql.server /etc/init.d/mysqld

添加環(huán)境變量

echo ’export PATH=/home/work/mysql/bin:$PATH’ >>/etc/profilesource /etc/profile

數(shù)據(jù)庫啟動

/etc/init.d/mysqld start

修改數(shù)據(jù)庫密碼

alter user’root’@’localhost’ IDENTIFIED BY ’dashuaige’; flush privileges;

四、配置MGR主

4.1.1 配置my.cnf文件

修改binlog如下:

server-id = 103306log-bin = mysql-binlog-bin-index = binlogs.indexbinlog_format = rowbinlog_rows_query_log_events = onbinlog_checksum = noneslave-parallel-type = LOGICAL_CLOCKslave-parallel-workers = 4slave_preserve_commit_order = 1

修改GTID如下:

gtid_mode = onenforce_gtid_consistency = 1log-slave-updates = 1binlog_gtid_simple_recovery = 1relay_log = /home/work/relaylog/relay.logrelay-log-index = /home/work/relaylog/relay.indexmaster_info_repository = tablerelay_log_info_repository = table

添加MGR插件

plugin_load='group_replication=group_replication.so'

修改MGR參數(shù)

#GR配置項 基中l(wèi)oose前綴表示若group Replication plugin未加載 mysql server仍明治維新啟動transaction_write_set_extraction = XXHASH64 #對每個事務(wù)獲取write set,并且用XXHASH64算法獲取hash值loose-group_replication_group_name = 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa' #組名,此處可拿select.uuid()生成loose-group_replication_start_on_boot = off #在mysqld啟動時不自動啟動組復(fù)制loose-group_replication_local_address = '10.115.88.18:33006' #本節(jié)點的IP地址和端口,注意該端口是組內(nèi)成員之間通信的端口,而不是MySQL對外提供服務(wù)的端口loose-group_replication_group_seeds = '10.115.88.18:33006,10.115.88.19:33006,10.115.88.20:33006' #種子節(jié)點的IP和端口號,新成員加入到集群的時候需要聯(lián)系種子節(jié)點,啟動集群的節(jié)點不使用該選項loose-group_replication_bootstrap_group = off #關(guān)閉,如果打開會造成腦裂 #是否啟動集群,注意,該選項任何時候只能用于一個節(jié)點,通常情況下啟動集群的時候使用,啟動之后需要關(guān)閉該選項loose-group_replication_member_weight = 50 #權(quán)重選擇

啟動數(shù)據(jù)庫

/etc/init.d/mysqld restart

4.1.2 配置每臺hosts主機(jī)解析

[root@bj1-10-115-88-18 mysql]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain610.115.88.18 bj1-10-115-88-1810.115.88.19 bj1-10-115-88-1910.115.88.20 bj1-10-115-88-20

4.1.3 配置mgr第一個主節(jié)點

以下步驟在10.115.88.18主機(jī)上的mysql中執(zhí)行

第一步:創(chuàng)建用于復(fù)制的用戶

set sql_log_bin=0;create user repuser@’%’ identified by ’repuser123’;grant replication slave,replication client on *.* to repuser@’%’;create user repuser@’127.0.0.1’ identified by ’repuser123’;grant replication slave,replication client on *.* to repuser@’127.0.0.1’;create user repuser@’localhost’ identified by ’repuser123’;grant replication slave,replication client on *.* to repuser@’localhost’;set sql_log_bin=1;

第二步:配置復(fù)制所使用的用戶

change master to master_user=’repuser’,master_password=’repuser123’ for channel ’group_replication_recovery’;

第三步:安裝mysql group replication這個插件

備注:如果在my.cnf里寫寫入plugin_load='group_replication=group_replication.so' 這步就可以不用操作install plugin group_replication soname ’group_replication.so’;通過show plugins;查看是否安裝成功

第四步:建個群(官方點的說法就是初始化一個復(fù)制組

set global group_replication_bootstrap_group=on;start group_replication;set global group_replication_bootstrap_group=off;select * from performance_schema.replication_group_members;

MySQL 8.0.15配置MGR單主多從的方法

五、配置另外兩節(jié)點,從

以下步驟在所有從主機(jī)上的mysql中執(zhí)行

第一步:創(chuàng)建用于復(fù)制的用戶

set sql_log_bin=0;create user repuser@’%’ identified by ’repuser123’;grant replication slave,replication client on *.* to repuser@’%’;create user repuser@’127.0.0.1’ identified by ’repuser123’;grant replication slave,replication client on *.* to repuser@’127.0.0.1’;create user repuser@’localhost’ identified by ’repuser123’;grant replication slave,replication client on *.* to repuser@’localhost’;set sql_log_bin=1;

第二步:配置復(fù)制所使用的用戶

change master to master_user=’repuser’,master_password=’repuser123’ for channel ’group_replication_recovery’;

第三步:安裝mysql group replication這個插件

備注:如果在my.cnf里寫寫入plugin_load='group_replication=group_replication.so' 這步就可以不用操作install plugin group_replication soname ’group_replication.so’;通過show plugins;查看是否安裝成功

第四步:加入前面創(chuàng)建好的復(fù)制組

start group_replication;select * from performance_schema.replication_group_members;

如下出現(xiàn)以下報錯

MySQL 8.0.15配置MGR單主多從的方法

這是binlog導(dǎo)致的錯誤,執(zhí)行以下

reset master;start group_replication;select * from performance_schema.replication_group_members;

查看是MGR狀態(tài):

MySQL 8.0.15配置MGR單主多從的方法

查看MGR主的讀寫狀態(tài)

MySQL 8.0.15配置MGR單主多從的方法

查看MGR兩臺從的讀寫狀態(tài)

MySQL 8.0.15配置MGR單主多從的方法

到此這篇關(guān)于MySQL 8.0.15配置MGR單主多從的方法的文章就介紹到這了,更多相關(guān)MySQL MGR單主多從內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 国产精品视频播放 | 在线观看亚洲一区二区三区 | 成人在线影视 | 99热在线观看免费 | 免费的一级黄色片 | 国偷自产一区二区免费视频 | 在线亚洲不卡 | 成年人免费看 | 日韩精品中文字幕在线播放 | 国产精品夜夜春夜夜爽久久电影 | 日韩视频中文字幕 | 日本久久国产 | 久久精品99 | 免费一级黄色电影 | 成人在线视频免费观看 | 国产精品久久久久久久一区探花 | 26uuu成人免费毛片 | 午夜免费视频 | 狠狠操狠狠摸 | 久久久在线视频 | av日韩在线看 | 欧美国产视频 | 五月婷婷综合激情网 | 天天综合永久入口 | av片免费看 | 国产99在线 | 亚洲 | 国产操片 | 国产aaaaav久久久一区二区 | 亚洲免费网 | 69av片| 久精品视频 | 久久黄网| 亚洲精品国产电影 | 在线观看v片 | 欧美午夜精品一区二区三区电影 | 欧美色综合一区二区三区 | 男人的天堂中文字幕 | 国产亚洲成av人片在线观看桃 | 性色av一区二区三区免费看开蚌 | 狠狠av| 伊人影院久久 |