导读:本期聚焦于小伙伴创作的《如何在Linux系统中搭建MySQL数据库主从服务器实现数据同步》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何在Linux系统中搭建MySQL数据库主从服务器实现数据同步》有用,将其分享出去将是对创作者最好的鼓励。

在Linux系统中搭建MySQL主从服务器可以提升数据库的读写性能和数据安全性,主库负责处理写请求,从库同步主库数据承担读请求,下文将一步步讲解完整搭建流程。

如何在Linux系统中搭建MySQL数据库主从服务器实现数据同步

环境准备

首先需要准备两台运行Linux系统的服务器,本文以CentOS 7系统为例,两台服务器均已安装相同版本的MySQL,建议MySQL版本为5.7及以上,避免版本差异导致同步异常。主库服务器IP假设为192.168.0.10,从库服务器IP假设为192.168.0.11,确保两台服务器之间网络互通,3306端口可以相互访问。

主库配置步骤

修改主库配置文件

编辑MySQL主配置文件my.cnf,一般路径为/etc/my.cnf,在[mysqld]模块下添加以下配置:

# 启用二进制日志,主从同步必须开启
log-bin=mysql-bin
# 设置服务器唯一ID,主从不能相同
server-id=1
# 二进制日志格式,建议设置为row
binlog_format=row
# 需要同步的数据库,不设置则同步所有库
binlog-do-db=test_db

修改完成后重启MySQL服务使配置生效:

systemctl restart mysqld

创建同步账号并授权

登录主库MySQL,创建一个用于从库连接的同步账号,并授予复制权限:

-- 创建同步用户,密码设置为sync_pwd
CREATE USER 'sync_user'@'192.168.0.11' IDENTIFIED BY 'sync_pwd';
-- 授予复制权限
GRANT REPLICATION SLAVE ON *.* TO 'sync_user'@'192.168.0.11';
-- 刷新权限
FLUSH PRIVILEGES;

查看主库状态

执行以下命令查看主库的二进制日志信息,记录下FilePosition的值,后续从库配置需要用到:

SHOW MASTER STATUS;

正常输出类似如下内容,其中mysql-bin.000001是日志文件名,154是日志位置:

FilePositionBinlog_Do_DBBinlog_Ignore_DB
mysql-bin.000001154test_db

从库配置步骤

修改从库配置文件

编辑从库的my.cnf配置文件,在[mysqld]模块下添加以下配置:

# 设置从库服务器唯一ID,和主库不能相同
server-id=2
# 开启中继日志
relay-log=mysql-relay
# 设置只读,避免从库被误写入数据
read-only=1

修改完成后同样重启MySQL服务:

systemctl restart mysqld

配置从库连接主库

登录从库MySQL,执行以下命令配置主库连接信息,将对应的IP、端口、账号、密码、日志文件名、日志位置替换为实际的值:

CHANGE MASTER TO
MASTER_HOST='192.168.0.10',
MASTER_PORT=3306,
MASTER_USER='sync_user',
MASTER_PASSWORD='sync_pwd',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=154;

启动从库同步进程

执行以下命令启动从库的同步进程:

START SLAVE;

接着查看从库同步状态,确认两个关键参数是否为Yes

SHOW SLAVE STATUS\G

重点查看Slave_IO_RunningSlave_SQL_Running两个字段,都为Yes则表示主从同步搭建成功。如果其中某个为No,可以查看Last_IO_ErrorLast_SQL_Error字段查看具体错误原因。

验证主从同步

在主库的test_db数据库中创建一张测试表并插入数据:

USE test_db;
CREATE TABLE test_table (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20)
);
INSERT INTO test_table(name) VALUES('测试数据');

然后登录从库的test_db数据库,查询test_table表,如果能看到刚才插入的数据,说明主从同步正常工作。

常见问题排查

  • 如果从库Slave_IO_RunningConnecting,检查主从服务器网络是否互通,主库同步账号是否授权正确,防火墙是否放行3306端口。
  • 如果Slave_SQL_RunningNo,一般是主从数据不一致导致,可以查看错误日志,跳过错误或者重新同步数据。
  • 主从版本不一致可能导致同步异常,建议主从使用相同版本的MySQL。
注意:从库默认只能读取数据,不建议手动修改从库数据,避免主从数据不一致导致同步异常。

以上就是Linux系统中搭建MySQL主从服务器的完整流程,按照步骤操作即可快速实现数据同步,提升数据库服务的稳定性和性能。

MySQL主从同步Linux数据库配置修改时间:2026-05-25 23:45:48

免责声明:已尽一切努力确保本网站所含信息的准确性。网站部分内容来源于网络或由用户自行发表,内容观点不代表本站立场。本站是个人网站免费分享,内容仅供个人学习、研究或参考使用,如内容中引用了第三方作品,其版权归原作者所有。若内容触犯了您的权益,请联系我们进行处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。前端、网络、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握网站开发与运维所需的核心技术栈。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端逻辑,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。