linux

MariaDB在Linux上如何集群

小樊
47
2025-09-12 16:42:10
栏目: 云计算

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

1. 准备工作

2. 安装MariaDB

在每个节点上安装MariaDB服务器:

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

3. 配置MariaDB

编辑MariaDB配置文件(通常是/etc/mysql/my.cnf/etc/my.cnf),添加或修改以下内容:

节点1(第一个节点)

[mysqld]
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://<node1_ip>,<node2_ip>,<node3_ip>
wsrep_node_address=<node1_ip>
wsrep_node_name=node1
wsrep_sst_method=xtrabackup-v2
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2

节点2和节点3(其他节点)

[mysqld]
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://<node1_ip>,<node2_ip>,<node3_ip>
wsrep_node_address=<node2_ip>  # 或 <node3_ip>
wsrep_node_name=node2  # 或 node3
wsrep_sst_method=xtrabackup-v2
binlog_format=ROW
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2

4. 启动MariaDB服务

在每个节点上启动MariaDB服务:

sudo systemctl start mariadb
sudo systemctl enable mariadb

5. 加入集群

在第一个节点上,运行以下命令来初始化集群:

mysql -u root -p

在MySQL shell中执行:

CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;

然后,在其他节点上,运行以下命令来加入集群:

mysql -u root -p

在MySQL shell中执行:

CHANGE MASTER TO
MASTER_HOST='<node1_ip>',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_AUTO_POSITION=1;
START SLAVE;

6. 验证集群状态

在任意一个节点上,运行以下命令来检查集群状态:

SHOW STATUS LIKE 'wsrep_cluster_size';

如果返回值大于1,说明集群已经成功启动。

7. 配置负载均衡和高可用性

可以使用HAProxy或Keepalived等工具来配置负载均衡和高可用性。

注意事项

通过以上步骤,你可以在Linux上成功部署一个MariaDB Galera Cluster。

0
看了该问题的人还看了