1、MariaDB Galera Cluster介紹
MariaDB Galera Cluster 是一個用于同步 MariaDB 資料庫的多 master 集群的工具,在資料方面完全兼容 MariaDB 和 MySQL,特性:
- 同步復制 Synchronous replication
- Active-active multi-master 拓撲邏輯
- 可對集群中任一節點進行資料讀寫
- 自動成員控制,故障節點自動從集群中移除
- 自動節點加入
- 真正并行的復制,基于行級
- 直接客戶端連接,原生的 MySQL 介面
2、環境準備
準備兩臺虛擬機,分別安裝CentOS7-1908(7.7),
服務器A:193.168.12.9 db1
服務器B:193.168.12.10 db2
兩臺虛機上關閉防火墻:
systemctl stop firewalld
systemctl disable firewalld
兩臺虛機上關閉selinux:
setenforce 0
修改/etc/selinux/config,設定SELINUX=disabled,確保重啟后也生效,
3、安裝mariadb 10.5
默認centos的源里不帶mariadb 10.5,需要自己配置,創建/etc/yum.repo.d/mariadb.repo檔案,這里配置的是從阿里云鏡像下載,速度比從官網快,內容如下:
[mariadb] name=MariaDB baseurl=https://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64 pgpkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB pgpcheck=0
下載并匯入KEY:
wget --no-check-certificate https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB /etc/pki/rpm-gpg/ rpm --import /etc/pki/rpm-gpg/*
用yum安裝:
yum install -y MariaDB-server MariaDB-client
如果之前配置過其它源導致安裝失敗,可以先清理一下再重試:
yum clean metadata
兩臺資料庫服務器做同樣操作,
4、配置mariadb
啟動mariadb:
systemctl start mariadb
可按需執行初始化:
mysql_secure_installation
mariadb默認僅允許root本地登錄,需要手工創建root遠程管理權限,可以新建,也可以修改當前root,新建的話:
mysql -uroot -p use mysql create user root@'%' identified by 'mariadb'; flush privileges;
或者修改已有root的host:
mysql -u root -p use mysql update user set host='%' where user='admin' and host='localhost'; flush privileges;
兩臺資料庫服務器做同樣操作,
5、組建集群
兩臺獨立的資料庫都準備好后,開始組建galera cluster,先停mariadb服務:
systemctl stop mariadb
修改mariadb的配置:/etc/my.cnf.d/server.cnf
[galera] wsrep_on=ON wsrep_provider=/usr/lib64/galera-4/libgalera_smm.so wsrep_cluster_address=gcomm://193.168.12.9,193.168.12.10 wsrep_cluster_name=rvsdb wsrep_node_name=db1 wsrep_node_address=193.168.12.9 binlog_format=row default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 wsrep_slave_threads=1 innodb_flush_log_at_trx_commit=0 bind-address=0.0.0.0
兩臺服務器的配置里除wsrep_node_name和wsrep_node_address外,其它配置項都相同,
以創建新集群的方式啟動第一個節點:
galera_new_cluster
此時能看到mysqld行程以帶引數的方式啟動,并且同時監聽4567和3306埠,
需要注意galera_new_cluster僅執行一次,以后這個節點重啟按正常服務方式啟動就行了,


以正常方式啟動第二個節點:
systemctl start mariadb
如果啟動沒有報錯,恭喜,集群組成完成,官方推薦集群至少3個節點,但2個也能作業,只是可能出現Split-Brain問題,
此時雙方分別登錄自己的mariadb,查看集群狀態,可以看到有相同的cluster_status_uuid,集群數量cluster_size也是2,表示兩臺,

在兩臺上分別執行DDL或者SQL陳述句,均會同步到對方,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/182120.html
標籤:其他
