ubuntu

MariaDB在Ubuntu上的集群方案

小樊
46
2025-06-09 08:22:14
栏目: 云计算

在Ubuntu上实现MariaDB集群可以通过多种方式,其中最常见的是使用MariaDB Galera Cluster。以下是使用MariaDB Galera Cluster在Ubuntu上设置高可用性MariaDB集群的步骤:

前提条件

步骤

  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,则表示集群已成功初始化。

注意事项

通过以上步骤,你可以在Ubuntu上成功设置一个MariaDB Galera Cluster,实现高可用性和数据冗余。

0
看了该问题的人还看了