Linux下MariaDB主从复制配置超全步骤详解
时间:2025-06-20 16:36:20 370浏览 收藏
本文详细介绍了在Linux环境下配置MariaDB主从复制的步骤,旨在帮助读者搭建稳定可靠的数据同步架构。首先,需要在主服务器上修改配置文件,启用二进制日志,并创建具有复制权限的专用账户。接着,锁定数据库表并记录二进制日志的文件名和位置。然后在从服务器上配置连接主服务器的参数,包括主服务器IP地址、复制账户和密码,以及之前记录的日志文件名和位置。最后,启动从服务器的复制线程,并通过`SHOW SLAVE STATUS`命令检查复制状态,确保主从服务器之间的数据同步正常运行。本文还提供了相关建议,如保持时间一致性、确保server-id唯一等,帮助读者避免常见问题,顺利完成MariaDB主从复制的搭建。
在Linux系统中设置MariaDB的主从复制需要完成一系列操作流程。下面将分步骤介绍如何搭建主服务器与从服务器之间的数据同步机制。
主服务器设置
修改主服务器的配置文件(通常位于/etc/my.cnf或/etc/mysql/my.cnf):
[mysqld] server-id = 1 log_bin = /var/log/mysql/mysql-bin.log binlog_do_db = mydb # 填入你需要同步的数据库名称
重启MariaDB服务,使配置生效:
sudo systemctl restart mariadb
进入MariaDB控制台并创建一个专用的复制账户:
CREATE USER 'replicator'@'%' IDENTIFIED BY 'password'; # 设置安全密码 GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%'; FLUSH PRIVILEGES;
锁定数据库表并查看当前二进制日志信息:
FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS;
注意记录输出中的File和Position字段值。
释放表锁:
UNLOCK TABLES;
从服务器设置
编辑从服务器的配置文件(路径同上):
[mysqld] server-id = 2 relay_log = /var/log/mysql/mysql-relay-bin.log log_bin = /var/log/mysql/mysql-bin.log read_only = 1
重启MariaDB服务以启用新的配置参数:
sudo systemctl restart mariadb
连接到MariaDB,并执行以下命令来设置复制参数:
CHANGE MASTER TO MASTER_HOST='master_ip', # 输入主服务器IP地址 MASTER_USER='replicator', MASTER_PASSWORD='password', # 使用你设定的密码 MASTER_LOG_FILE='mysql-bin.000001', # 使用之前记录的File值 MASTER_LOG_POS=123; # 使用之前记录的Position值
启动从服务器的复制线程:
START SLAVE;
查询复制状态是否正常运行:
SHOW SLAVE STATUS\G
确认Slave_IO_Running和Slave_SQL_Running的状态均为Yes。如果出现异常,请根据提示排查问题。
相关建议
- 保持主从服务器之间的时间一致性。
- 每个服务器的server-id必须唯一,不能重复。
- 若部署多个从节点,应确保每个节点拥有独立的server-id。
- 推荐在正式环境中采用GTID等更高级别的复制策略以增强可靠性。
按照上述流程操作后,你应该可以顺利完成MariaDB的主从架构搭建。如遇故障,请参考相关日志进行调试分析。
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
338 收藏
-
478 收藏
-
362 收藏
-
119 收藏
-
294 收藏
-
131 收藏
-
334 收藏
-
387 收藏
-
271 收藏
-
444 收藏
-
422 收藏
-
492 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习