溫馨提示×

MariaDB在Linux上如何集群

小樊
55
2025-09-12 16:42:10
欄目: 云計算

在Linux上部署MariaDB集群,通??梢允褂肕ariaDB Galera Cluster。Galera Cluster是一個多主復制解決方案,支持實時數據同步和自動故障轉移。以下是部署MariaDB Galera Cluster的基本步驟:

1. 準備工作

  • 操作系統:確保所有節點運行相同的Linux發行版(例如Ubuntu、CentOS等)。
  • 網絡配置:所有節點之間需要能夠通過網絡互相通信。
  • 防火墻設置:確保必要的端口(如3306、4567、4444、45678)在所有節點上開放。

2. 安裝MariaDB

在每個節點上安裝MariaDB服務器:

sudo apt-get update
sudo apt-get install mariadb-server mariadb-client

3. 配置MariaDB

編輯MariaDB配置文件(通常是/etc/mysql/my.cnf/etc/my.cnf),添加或修改以下內容:

節點1(第一個節點)

[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

節點2和節點3(其他節點)

[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

4. 啟動MariaDB服務

在每個節點上啟動MariaDB服務:

sudo systemctl start mariadb
sudo systemctl enable mariadb

5. 加入集群

在第一個節點上,運行以下命令來初始化集群:

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;

6. 驗證集群狀態

在任意一個節點上,運行以下命令來檢查集群狀態:

SHOW STATUS LIKE 'wsrep_cluster_size';

如果返回值大于1,說明集群已經成功啟動。

7. 配置負載均衡和高可用性

可以使用HAProxy或Keepalived等工具來配置負載均衡和高可用性。

注意事項

  • 確保所有節點的時間同步。
  • 在生產環境中,建議使用SSL加密通信。
  • 定期備份數據以防萬一。

通過以上步驟,你可以在Linux上成功部署一個MariaDB Galera Cluster。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女