Ubuntu MariaDB集群搭建方法有哪些
导读:Ubuntu环境下搭建MariaDB集群的常见方法 1. MariaDB Galera Cluster(多主复制集群) Galera Cluster是MariaDB原生支持的多主同步复制集群方案,提供高可用性、数据一致性及线性扩展能力,适用...
Ubuntu环境下搭建MariaDB集群的常见方法
1. MariaDB Galera Cluster(多主复制集群)
Galera Cluster是MariaDB原生支持的多主同步复制集群方案,提供高可用性、数据一致性及线性扩展能力,适用于需要强一致性的场景。
核心配置步骤:
- 准备工作:准备至少3台运行Ubuntu的服务器(建议奇数台,如3/5台),确保节点间网络互通(开放3306端口),并安装相同版本的MariaDB(推荐10.1及以上)。
- 安装MariaDB:在所有节点执行
sudo apt update & & sudo apt install mariadb-server mariadb-client
安装MariaDB。 - 配置集群参数:在每个节点的
/etc/mysql/conf.d/galera.cnf
(或/etc/mysql/mariadb.conf.d/99-cluster.cnf
)中添加以下内容(替换为实际IP):[mysqld] bind-address = 0.0.0.0 default-storage-engine = InnoDB innodb_autoinc_lock_mode = 2 wsrep_on = ON wsrep_provider = /usr/lib/galera/libgalera_smm.so wsrep_cluster_name = "galera_cluster" # 集群名称(需一致) wsrep_cluster_address = "gcomm://node1_ip,node2_ip,node3_ip" # 所有节点IP wsrep_node_address = "当前节点IP" # 如192.168.1.111 wsrep_node_name = "node1" # 节点名称(唯一标识) wsrep_sst_method = xtrabackup-v2 # 数据同步方法(推荐xtrabackup) wsrep_sst_auth = sst_user:your_password # SST用户及密码(需提前创建)
- 初始化集群:在第一个节点执行
galera_new_cluster
启动集群;其他节点执行sudo systemctl restart mariadb
加入集群。 - 验证状态:在任意节点执行
mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'; "
,若wsrep_cluster_size
等于节点数量,则集群搭建成功。
2. MariaDB主从复制(Master-Slave Replication)
主从复制是MariaDB经典的单主多从异步复制方案,适用于读扩展(将读请求分发到从节点),提升读取性能。
核心配置步骤:
- 准备工作:准备至少2台Ubuntu服务器(1主1从),安装相同版本的MariaDB。
- 配置主服务器(Master):
- 编辑
/etc/mysql/mariadb.conf.d/50-server.cnf
,添加:[mysqld] server-id = 1 # 主节点ID(唯一) log_bin = /var/log/mysql/mysql-bin.log # 启用二进制日志 binlog_do_db = your_database # 指定复制的数据库(可选)
- 重启MariaDB:
sudo systemctl restart mariadb
。 - 创建复制用户:
CREATE USER 'replicator'@'%' IDENTIFIED BY 'your_password'; GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%'; FLUSH PRIVILEGES;
。 - 获取二进制日志位置:
SHOW MASTER STATUS;
(记录File
和Position
,如mysql-bin.000001
、123
)。
- 编辑
- 配置从服务器(Slave):
- 编辑
/etc/mysql/mariadb.conf.d/50-server.cnf
,添加:[mysqld] server-id = 2 # 从节点ID(需与主节点不同) relay_log = /var/log/mysql/mysql-relay-bin.log # 启用中继日志 log_bin = /var/log/mysql/mysql-bin.log replicate_do_db = your_database # 指定复制的数据库(可选)
- 重启MariaDB:
sudo systemctl restart mariadb
。 - 配置复制:
CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replicator', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=123; START SLAVE;
。
- 编辑
- 验证复制:在从节点执行
SHOW SLAVE STATUS\G
,若Slave_IO_Running
和Slave_SQL_Running
均为Yes
,则复制正常;在主节点插入数据,从节点可查询到同步的数据。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu MariaDB集群搭建方法有哪些
本文地址: https://pptw.com/jishu/726149.html