在Linux上部署MariaDB集群,通??梢允褂肕ariaDB Galera Cluster。Galera Cluster是一個多主復制解決方案,支持實時數據同步和自動故障轉移。以下是部署MariaDB Galera Cluster的基本步驟:
在每個節點上安裝MariaDB服務器:
sudo apt-get update
sudo apt-get install mariadb-server mariadb-client
編輯MariaDB配置文件(通常是/etc/mysql/my.cnf
或/etc/my.cnf
),添加或修改以下內容:
[mysqld]
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://<node1_ip>,<node2_ip>,<node3_ip>
wsrep_node_address=<node1_ip>
wsrep_node_name=node1
wsrep_sst_method=xtrabackup-v2
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
[mysqld]
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://<node1_ip>,<node2_ip>,<node3_ip>
wsrep_node_address=<node2_ip> # 或 <node3_ip>
wsrep_node_name=node2 # 或 node3
wsrep_sst_method=xtrabackup-v2
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
在每個節點上啟動MariaDB服務:
sudo systemctl start mariadb
sudo systemctl enable mariadb
在第一個節點上,運行以下命令來初始化集群:
mysql -u root -p
在MySQL shell中執行:
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
然后,在其他節點上,運行以下命令來加入集群:
mysql -u root -p
在MySQL shell中執行:
CHANGE MASTER TO
MASTER_HOST='<node1_ip>',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_AUTO_POSITION=1;
START SLAVE;
在任意一個節點上,運行以下命令來檢查集群狀態:
SHOW STATUS LIKE 'wsrep_cluster_size';
如果返回值大于1,說明集群已經成功啟動。
可以使用HAProxy或Keepalived等工具來配置負載均衡和高可用性。
通過以上步驟,你可以在Linux上成功部署一個MariaDB Galera Cluster。