溫馨提示×

如何在Ubuntu上實現MariaDB集群

小樊
75
2025-04-07 18:38:20
欄目: 云計算

在Ubuntu上實現MariaDB集群可以通過多種方式,其中最常見的是使用MariaDB Galera Cluster。以下是使用MariaDB Galera Cluster在Ubuntu上設置高可用性MariaDB集群的步驟:

前提條件

  1. Ubuntu版本:確保你使用的是Ubuntu 16.04或更高版本。
  2. MariaDB版本:確保你使用的是MariaDB 10.1或更高版本。

步驟

1. 安裝MariaDB

首先,在所有節點上安裝MariaDB。

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

2. 配置MariaDB

在每個節點上進行配置。

編輯/etc/mysql/mariadb.conf.d/50-server.cnf文件
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

[mysqld]部分添加以下配置:

[mysqld]
bind-address = 0.0.0.0
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://<node1_ip>,<node2_ip>,<node3_ip>
wsrep_node_address=<node_ip>
wsrep_node_name=<node_name>
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth=your_sst_user:your_sst_password
  • <node1_ip>, <node2_ip>, <node3_ip>:所有節點的IP地址。
  • <node_ip>:當前節點的IP地址。
  • <node_name>:當前節點的名稱。
重啟MariaDB服務
sudo systemctl restart mariadb

3. 初始化集群

在第一個節點上初始化集群。

sudo mysql -u root -p

在MySQL shell中執行:

CREATE USER 'sst_user'@'%' IDENTIFIED BY 'your_sst_password';
GRANT ALL PRIVILEGES ON *.* TO 'sst_user'@'%';
FLUSH PRIVILEGES;
EXIT;

然后,在第一個節點上運行:

sudo mysql -u root -p -e "SET GLOBAL wsrep_cluster_size=3;"

4. 加入其他節點

在其他節點上運行以下命令來加入集群:

sudo mysql -u root -p -e "SET GLOBAL wsrep_cluster_address='gcomm://<node1_ip>,<node2_ip>,<node3_ip>';"

5. 驗證集群狀態

在任意節點上運行以下命令來驗證集群狀態:

sudo mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size';"

如果輸出顯示wsrep_cluster_size=3,則表示集群已成功初始化。

注意事項

  • 防火墻配置:確保所有節點之間的端口3306是開放的。
  • 硬件資源:確保每個節點有足夠的硬件資源(CPU、內存、磁盤空間)來支持集群操作。
  • 監控和日志:設置適當的監控和日志記錄,以便及時發現和解決問題。

通過以上步驟,你可以在Ubuntu上成功設置一個MariaDB Galera Cluster,實現高可用性和數據冗余。

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