溫馨提示×

MariaDB在Ubuntu上的集群方案

小樊
52
2025-06-09 08:22:14
欄目: 云計算

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

前提條件

  • Ubuntu版本:確保你使用的是Ubuntu 16.04或更高版本。
  • 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 替換為當前節點的名稱,your_sst_useryour_sst_password 替換為你的sst用戶名和密碼。

    重啟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;
    

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

    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. 驗證集群狀態

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

    SHOW STATUS LIKE 'wsrep_cluster_size';
    

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

注意事項

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

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

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