婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > MySQL 8.0.15配置MGR單主多從的方法

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

熱門標(biāo)簽:石家莊電商外呼系統(tǒng) 南通自動(dòng)外呼系統(tǒng)軟件 信陽(yáng)穩(wěn)定外呼系統(tǒng)運(yùn)營(yíng)商 湖南人工外呼系統(tǒng)多少錢 申請(qǐng)外呼電話線路 芒果電話機(jī)器人自動(dòng)化 廣東人工電話機(jī)器人 百度地圖圖標(biāo)標(biāo)注中心 日照旅游地圖標(biāo)注

一、簡(jiǎn)介

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

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

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

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

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

優(yōu)點(diǎn):

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

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

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

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

缺點(diǎn):

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

二、環(huán)境介紹

MySQL版本:8.0.15

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

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

MGR插件:group_replication.so

10.115.88.18:?jiǎn)沃?/p>

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ù)庫(kù)

解壓

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

進(jìn)入解壓目錄

cd /home/work

tar xf mysql-8.0.15-linux-glibc2.12-x86_64.tar.gz

mv mysql-8.0.15-linux-glibc2.12-x86_64 mysql

rm -rf *.xz

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

cd /home/work

tar xf mysql-8.0.15-linux-glibc2.12-x86_64.tar.gz

mv mysql-8.0.15-linux-glibc2.12-x86_64 mysql

rm -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=utf8
socket=/home/work/mysql/run/mysql.sock

[mysqld]
user = work 
port = 3306
basedir=/home/work/mysql
datadir=/home/work/data
socket=/home/work/mysql/run/mysql.sock
pid-file=/home/work/mysql/run/mysqld.pid
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
lower_case_table_names = 1


server-id = 183306 
log-bin = mysql-bin
log-bin-index = binlogs.index
binlog_format = row
binlog_rows_query_log_events = on
binlog_checksum = none

slave-parallel-type = LOGICAL_CLOCK
slave-parallel-workers = 4
slave_preserve_commit_order = 1

#GITD
gtid_mode = on
enforce_gtid_consistency = 1
log-slave-updates = 1
binlog_gtid_simple_recovery = 1

relay_log = /home/work/relaylog/relay.log
relay-log-index = /home/work/relaylog/relay.index
master_info_repository = table
relay_log_info_repository = table

plugin_load="group_replication=group_replication.so"

#MGR
#GR配置項(xiàng) 基中l(wèi)oose前綴表示若group Replication plugin未加載 mysql server仍明治維新啟動(dòng)
transaction_write_set_extraction = XXHASH64 #對(duì)每個(gè)事務(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啟動(dòng)時(shí)不自動(dòng)啟動(dòng)組復(fù)制
loose-group_replication_local_address = "10.115.88.18:33006" #本節(jié)點(diǎn)的IP地址和端口,注意該端口是組內(nèi)成員之間通信的端口,而不是MySQL對(duì)外提供服務(wù)的端口
loose-group_replication_group_seeds = "10.115.88.18:33006,10.115.88.19:33006,10.115.88.20:33006" #種子節(jié)點(diǎn)的IP和端口號(hào),新成員加入到集群的時(shí)候需要聯(lián)系種子節(jié)點(diǎn),啟動(dòng)集群的節(jié)點(diǎn)不使用該選項(xiàng)
loose-group_replication_bootstrap_group = off #關(guān)閉,如果打開會(huì)造成腦裂 #是否啟動(dòng)集群,注意,該選項(xiàng)任何時(shí)候只能用于一個(gè)節(jié)點(diǎn),通常情況下啟動(dòng)集群的時(shí)候使用,啟動(dòng)之后需要關(guān)閉該選項(xiàng)

loose-group_replication_member_weight = 50 #權(quán)重選擇


skip-host-cache
skip-name-resolve
skip-external-locking
character-set-server=utf8
lower_case_table_names=1
event_scheduler=on
log_bin_trust_function_creators=on

max_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 = 8M

innodb_buffer_pool_size = 8096M
innodb_log_file_size = 128M
innodb_log_files_in_group = 2
innodb_log_buffer_size = 2M
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1



[mysqld_safe]
log-error=/home/work/data/err.log

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

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

拷貝啟動(dòng)文件

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

添加環(huán)境變量

echo 'export PATH=/home/work/mysql/bin:$PATH' >>/etc/profile
source /etc/profile

數(shù)據(jù)庫(kù)啟動(dòng)

/etc/init.d/mysqld start

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

alter user'root'@'localhost' IDENTIFIED BY 'dashuaige'; 

flush privileges;

四、配置MGR主

4.1.1 配置my.cnf文件

修改binlog如下:

server-id = 103306
log-bin = mysql-bin
log-bin-index = binlogs.index
binlog_format = row
binlog_rows_query_log_events = on
binlog_checksum = none

slave-parallel-type = LOGICAL_CLOCK
slave-parallel-workers = 4
slave_preserve_commit_order = 1

修改GTID如下:

gtid_mode = on
enforce_gtid_consistency = 1
log-slave-updates = 1
binlog_gtid_simple_recovery = 1

relay_log = /home/work/relaylog/relay.log
relay-log-index = /home/work/relaylog/relay.index
master_info_repository = table
relay_log_info_repository = table

添加MGR插件

plugin_load="group_replication=group_replication.so"

修改MGR參數(shù)

#GR配置項(xiàng) 基中l(wèi)oose前綴表示若group Replication plugin未加載 mysql server仍明治維新啟動(dòng)
transaction_write_set_extraction = XXHASH64 #對(duì)每個(gè)事務(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啟動(dòng)時(shí)不自動(dòng)啟動(dòng)組復(fù)制
loose-group_replication_local_address = "10.115.88.18:33006" #本節(jié)點(diǎn)的IP地址和端口,注意該端口是組內(nèi)成員之間通信的端口,而不是MySQL對(duì)外提供服務(wù)的端口
loose-group_replication_group_seeds = "10.115.88.18:33006,10.115.88.19:33006,10.115.88.20:33006" #種子節(jié)點(diǎn)的IP和端口號(hào),新成員加入到集群的時(shí)候需要聯(lián)系種子節(jié)點(diǎn),啟動(dòng)集群的節(jié)點(diǎn)不使用該選項(xiàng)
loose-group_replication_bootstrap_group = off #關(guān)閉,如果打開會(huì)造成腦裂 #是否啟動(dòng)集群,注意,該選項(xiàng)任何時(shí)候只能用于一個(gè)節(jié)點(diǎn),通常情況下啟動(dòng)集群的時(shí)候使用,啟動(dòng)之后需要關(guān)閉該選項(xiàng)

loose-group_replication_member_weight = 50 #權(quán)重選擇

啟動(dòng)數(shù)據(jù)庫(kù)

/etc/init.d/mysqld restart

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

[root@bj1-10-115-88-18 mysql]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1   localhost localhost.localdomain localhost6 localhost6.localdomain6
10.115.88.18 bj1-10-115-88-18
10.115.88.19 bj1-10-115-88-19
10.115.88.20 bj1-10-115-88-20

4.1.3 配置mgr第一個(gè)主節(jié)點(diǎn)

以下步驟在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這個(gè)插件

備注:如果在my.cnf里寫寫入plugin_load="group_replication=group_replication.so" 這步就可以不用操作

install plugin group_replication soname 'group_replication.so';


通過show plugins;查看是否安裝成功

第四步:建個(gè)群(官方點(diǎn)的說法就是初始化一個(gè)復(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;

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

以下步驟在所有從主機(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這個(gè)插件

備注:如果在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)以下報(bào)錯(cuò)

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

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

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

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

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

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

您可能感興趣的文章:
  • MySQL MGR 有哪些優(yōu)點(diǎn)
  • mysql MGR 單主多主模式切換知識(shí)點(diǎn)詳解
  • mysql 8.0.18 mgr 搭建及其切換功能
  • MySQL 8.0.18使用clone plugin重建MGR的實(shí)現(xiàn)
  • 詳解MySQL 5.7 MGR單主確定主節(jié)點(diǎn)方法
  • MySQL MGR搭建過程中常遇見的問題及解決辦法

標(biāo)簽:阿里 天津 沈陽(yáng) 公主嶺 呼和浩特 惠州 牡丹江 合肥

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL 8.0.15配置MGR單主多從的方法》,本文關(guān)鍵詞  MySQL,8.0.15,配置,MGR,單主多,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL 8.0.15配置MGR單主多從的方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于MySQL 8.0.15配置MGR單主多從的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 辉南县| 三门峡市| 樟树市| 鲜城| 峡江县| 安吉县| 澄迈县| 甘孜| 丰顺县| 西充县| 天峻县| 株洲县| 铜川市| 莒南县| 沙洋县| 田林县| 理塘县| 千阳县| 衡南县| 苗栗县| 习水县| 襄汾县| 仁布县| 武鸣县| 行唐县| 浦县| 抚顺县| 静宁县| 武汉市| 洪湖市| 乌鲁木齐市| 敦化市| 湖北省| 河间市| 肥东县| 临猗县| 苍南县| 正宁县| 祁东县| 出国| 丹寨县|