溫馨提示×

Debian MariaDB如何實現高可用

小樊
47
2025-08-18 06:21:20
欄目: 云計算

在Debian上實現MariaDB的高可用性,可以采用多種方法。以下是兩種常見的方法:

方法一:使用MariaDB Galera Cluster

MariaDB Galera Cluster是一個多主復制解決方案,支持真正的多主同步,確保數據的一致性和高可用性。

步驟:

  1. 安裝MariaDB

    sudo apt update
    sudo apt install mariadb-server mariadb-client
    
  2. 配置MariaDB: 編輯/etc/mysql/mariadb.conf.d/50-server.cnf文件,添加或修改以下內容:

    [mysqld]
    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=<sst_user>:<sst_password>
    wsrep_on=ON
    
  3. 重啟MariaDB服務

    sudo systemctl restart mariadb
    
  4. 加入集群: 在每個節點上執行以下命令,將節點加入到集群中:

    mysql -u root -p
    

    然后輸入以下SQL命令:

    CREATE USER 'sst_user'@'%' IDENTIFIED BY 'sst_password';
    GRANT ALL PRIVILEGES ON *.* TO 'sst_user'@'%';
    FLUSH PRIVILEGES;
    
  5. 驗證集群狀態: 在任意節點上執行以下命令,查看集群狀態:

    SHOW STATUS LIKE 'wsrep_cluster_size';
    

方法二:使用Keepalived和LVS

Keepalived和LVS(Linux Virtual Server)可以實現負載均衡和高可用性。

步驟:

  1. 安裝Keepalived和LVS

    sudo apt update
    sudo apt install keepalived lvs-tools
    
  2. 配置Keepalived: 編輯/etc/keepalived/keepalived.conf文件,添加以下內容:

    vrrp_instance VI_1 {
        state MASTER
        interface eth0
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1234
        }
        virtual_ipaddress {
            <virtual_ip>
        }
    }
    
    virtual_server <virtual_ip> 3306 {
        delay_loop 6
        lb_algo rr
        lb_kind DR
        nat_mask 255.255.255.0
        persistence_timeout 50
        protocol TCP
    
        real_server <node1_ip> 3306 {
            weight 1
            TCP_CHECK {
                connect_timeout 10
                connect_port 3306
            }
        }
    
        real_server <node2_ip> 3306 {
            weight 1
            TCP_CHECK {
                connect_timeout 10
                connect_port 3306
            }
        }
    }
    
  3. 啟動Keepalived服務

    sudo systemctl start keepalived
    sudo systemctl enable keepalived
    
  4. 配置MariaDB: 確保每個MariaDB實例的my.cnf文件中包含以下內容,以支持LVS的DR模式:

    server-id = <unique_id>
    log_bin = /var/log/mysql/mysql-bin.log
    auto_increment_increment = 2
    auto_increment_offset = 1
    
  5. 驗證高可用性: 通過停止主節點上的Keepalived服務,觀察虛擬IP是否自動切換到備用節點,并確保數據庫服務仍然可用。

通過以上兩種方法,你可以在Debian上實現MariaDB的高可用性。選擇哪種方法取決于你的具體需求和環境。

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