MySQL8集群之MGR的重要參數(shù)使用及說明
記錄一下MySQL8.0.x 官方推薦集群方案MGR,相關(guān)的重要參數(shù)設(shè)置
環(huán)境說明
- 版本 MySQL 8.0.27
- 一主兩從3臺(tái)服務(wù)器做的MGR集群
- 主要設(shè)置 my.cnf中的參數(shù)
- Linux 系統(tǒng)環(huán)境
重要參數(shù)
MySQL8的全部參數(shù)的官方說明文檔地址:
https://dev.mysql.com/doc/refman/8.0/en/server-system-variable-reference.html
在安裝MySQL,配置MGR集群之前,
請(qǐng)務(wù)必重點(diǎn)注意:所有服務(wù)器的 hostname 確保不一樣 ,如果修改主機(jī)名稱使用類似如下命令:
sudo hostnamectl set-hostname NEWHOSTNAMEHERE
另外記得修改 /etc/hosts 文件中的內(nèi)容,將本次所有的主機(jī)名稱配置對(duì)應(yīng)IP地址,特別注意第1、2兩行127.0.0.1的對(duì)應(yīng)關(guān)系
127.0.0.1 localhost 127.0.1.1 mgr-node1 192.168.30.222 mgr-master mgr-master 192.168.30.247 mgr-node1 mgr-node1 192.168.30.248 mgr-node2 mgr-node2
下面列舉MGR集群主要關(guān)注的幾個(gè)參數(shù),
| 參數(shù)名稱 | 默認(rèn)數(shù)值 | 建議說明 |
|---|---|---|
| server-id | 1 | 唯一服務(wù)ID,務(wù)必確保每一臺(tái)服務(wù)器不一樣 |
| port | 3306 | 客戶端 和 服務(wù)端口 這兩個(gè)可以不一樣,建議所有服務(wù)器上端口一樣 |
| admin_port | 33062 | 管理接口,獨(dú)立管理通道 防止客戶端無法登錄 ,通常還需要配置 admin_address 來指定監(jiān)聽的 IP 地址 |
| mysqlx-port | 33060 | 用于 X 協(xié)議(MySQL X Protocol)所使用的 TCP 端口。X 協(xié)議是 MySQL 8.0 (以及 5.7.12+) 引入的一種新的、現(xiàn)代化的客戶端-服務(wù)器通信協(xié)議,旨在提供更豐富的功能和更好的性能,特別是在與 MySQL Shell、NoSQL 式訪問 和 文檔存儲(chǔ) 功能結(jié)合使用時(shí) |
| disabled_storage_engines | 空 | 需要禁止使用的存儲(chǔ)引擎,MGR環(huán)境下禁止使用這種存儲(chǔ),一般可設(shè)置 MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY |
| transaction_isolation | REPEATABLE-READ | 事務(wù)提交模式,建議使用 READ-COMMITTED |
| gtid_mode | OFF | MGR 強(qiáng)制依賴 GTID 進(jìn)行事務(wù)跟蹤 必須設(shè)置 ON |
| log_bin & log_slave_updates | OFF | MGR 的基礎(chǔ) 必須設(shè)置為 ON |
| binlog_format | ROW | MGR 依賴行格式 必須設(shè)置為 ROW |
| transaction_write_set_extraction | XXHASH64 | MGR 用它來識(shí)別事務(wù)中修改的行(寫入集),用于沖突檢測(cè)和應(yīng)用,通常設(shè)置為 XXHASH64。必須在所有成員上保持一致 |
| innodb_flush_log_at_trx_commit | 1 | 控制事務(wù)提交時(shí) redo log 如何寫入磁盤,強(qiáng)烈建議設(shè)置為 1,這保證了事務(wù)的 ACID 特性(完全持久化) |
| sync_binlog | 1 | 控制 binlog 刷新到磁盤的頻率,設(shè)置為 1 可確保每個(gè)事務(wù)提交后 binlog 都被同步到磁盤 |
| group_replication_transaction_size_limit | 150MB | 限制MGR中可以接受的事務(wù)大小上限,超過此大小的事務(wù)將被拒絕 |
| max_allowed_packet | 64MB | 定義服務(wù)器能夠接收的最大網(wǎng)絡(luò)包大小,建議小于上面參數(shù)值 |
| replica_pending_jobs_size_max | 128MB | 復(fù)制線程可以排隊(duì)的最大事務(wù)大小 |
| innodb_log_file_size | 512MB | InnoDB重做日志文件大小,通常設(shè)置為512MB-1GB之間 |
| group_replication_group_name | 空 | 【必填】復(fù)制組的唯一標(biāo)識(shí)符。在同一個(gè)MySQL集群中的所有節(jié)點(diǎn)都必須使用相同的組名 |
| group_replication_start_on_boot | 空 | 【必填】表示MySQL服務(wù)器啟動(dòng)時(shí),Group Replication會(huì)自動(dòng)啟動(dòng)并嘗試加入復(fù)制組 |
| group_replication_bootstrap_group | 空 | 【必填】 這個(gè)參數(shù)通常在初始化復(fù)制組的第一個(gè)節(jié)點(diǎn)時(shí)設(shè)置為ON,表示該節(jié)點(diǎn)將啟動(dòng)一個(gè)新的復(fù)制組。一旦組已經(jīng)啟動(dòng),其他節(jié)點(diǎn)加入時(shí)都應(yīng)將其設(shè)置為OFF |
| group_replication_local_address | 空 | 【必填】當(dāng)前MySQL實(shí)例用于Group Replication通信的本地地址和端口 |
| group_replication_group_seeds | 空 | 【必填】 復(fù)制組中至少一個(gè)或多個(gè)已知成員的地址列表。當(dāng)一個(gè)新節(jié)點(diǎn)啟動(dòng)或嘗試重新加入組時(shí),它會(huì)使用這些地址來發(fā)現(xiàn)并連接到復(fù)制組的其他成員。這是一個(gè)引導(dǎo)列表,不要求列出所有成員 |
| group_replication_ip_allowlist | 空 | 【必填】 定義了允許連接到Group Replication組的IP地址或IP地址范圍。這有助于增強(qiáng)安全性,只允許來自指定網(wǎng)絡(luò)的成員加入組,例如:“127.0.0.1,192.168.30.0/24” |
| report_host | 空 | 重要: 用于告知MySQL服務(wù)器在將信息報(bào)告給監(jiān)控工具,對(duì)應(yīng)performance_schema.replication_group_members 表中MEMBER_HOST的值,如果不配置,則默認(rèn)取當(dāng)前主機(jī)的hostname作為該字段值 |
除了以上列出的參數(shù)值,一般時(shí)間,時(shí)區(qū)等各節(jié)點(diǎn)都需要保證一致性。
另外最重要的是:
你的應(yīng)用程序中的事務(wù)要盡可能的小
例如 DELETE UPDATE 范圍數(shù)據(jù)的時(shí)候,需要優(yōu)化完善之前的程序保證每一次范圍盡可能的??!
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于MySQL Memory存儲(chǔ)引擎的相關(guān)知識(shí)
這篇文章主要介紹了關(guān)于MySQL Memory存儲(chǔ)引擎的相關(guān)知識(shí),幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下2020-11-11
mysql ERROR 1045 (28000)問題的解決方法
這篇文章主要介紹了mysql ERROR 1045 (28000)問題的解決方法,文中步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10
MySQL實(shí)現(xiàn)字段或字符串拼接的三種方式總結(jié)
這篇文章主要為大家詳細(xì)介紹了MySQL中實(shí)現(xiàn)字段或字符串拼接的三種方式,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-01-01
MySQL中Navicat自動(dòng)備份的實(shí)現(xiàn)
本文主要介紹了MySQL中Navicat自動(dòng)備份的實(shí)現(xiàn),包括手動(dòng)備份和自動(dòng)定時(shí)備份,文中通過圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03

