debian

Debian MariaDB如何进行集群部署

小樊
40
2025-08-18 06:26:19
栏目: 云计算

在Debian系统上部署MariaDB集群,可以使用MariaDB Galera Cluster。Galera Cluster是一个多主复制解决方案,支持实时数据同步和自动故障转移。以下是详细的步骤:

1. 安装MariaDB

首先,在所有节点上安装MariaDB。

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

2. 配置MariaDB

在每个节点上进行配置。

2.1 编辑配置文件

编辑/etc/mysql/mariadb.conf.d/50-server.cnf文件(或/etc/my.cnf),添加以下内容:

[mysqld]
# 基本设置
bind-address = 0.0.0.0
server-id = 1  # 每个节点的唯一ID

# Galera Cluster设置
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
wsrep_sst_donor=/usr/bin/xtrabackup --datadir=/var/lib/mysql --user=your_sst_user --password=your_sst_password --target-dir=/var/lib/mysql/backup
wsrep_sst_receive=yes
wsrep_sst_max_size=1G
wsrep_sst_compress=on
wsrep_certify_non_PX=on
wsrep_on=ON

<node1_ip>, <node2_ip>, <node3_ip>替换为所有节点的IP地址,<node_ip>替换为当前节点的IP地址,<node_name>替换为当前节点的名称。

2.2 重启MariaDB服务

在每个节点上重启MariaDB服务以应用配置:

sudo systemctl restart mariadb

3. 初始化集群

在一个节点上初始化集群。

sudo mysql -u root -p

在MySQL shell中执行以下命令:

CREATE USER 'galera'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'galera'@'%';
FLUSH PRIVILEGES;

然后退出MySQL shell:

EXIT;

4. 加入集群

在其他节点上加入集群。

sudo mysql -u root -p

在MySQL shell中执行以下命令:

CREATE USER 'galera'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'galera'@'%';
FLUSH PRIVILEGES;

然后退出MySQL shell:

EXIT;

5. 验证集群状态

在任意一个节点上检查集群状态:

sudo mysql -u root -p

在MySQL shell中执行以下命令:

SHOW STATUS LIKE 'wsrep_cluster_size';

如果返回值大于1,说明集群已经成功初始化并运行。

6. 配置防火墙

确保防火墙允许MariaDB端口(默认3306)的通信。

sudo ufw allow 3306/tcp

7. 监控和维护

定期监控集群状态,并进行必要的维护,例如备份和升级。

通过以上步骤,你可以在Debian系统上成功部署MariaDB Galera Cluster。

0
看了该问题的人还看了