当前位置: 首页 > news >正文

MySQL Database Replication | Master-to-Slave MySQL主从架构与读写分离部署

MySQL Database Replication | Master-to-Slave MySQL主从架构与读写分离部署

我使用 MySQL 5.7的版本 作为部署环境
主库在windows系统下,从库部署在debian linux系统,均为物理机器

第一步:修改MySQL数据库配置文件

Windows系统

通常配置文件路径为: C:\ProgramData\MySQL\<具体你的mysql版本>\my.ini
Windows文件管理器快速打开配置文件:
%PROGRAMDATA%\MySQL\<具体你的mysql版本>\my.ini

Linux系统

通常配置文件路径为: /etc/my.cnf

配置主库 (Master)

新增/修改内容如下:

[mysqld] 部分

server-id=1 #指定ID,主从的两台虚拟机ID必须不同

log-bin=mysql-bin #开启二进制日志,这是配置主从同步的关键

bind-address = 0.0.0.0 #确保不仅监听 127.0.0.1,允许从库连接

binlog-do-db=<你要同步的数据库名称> #(可选)建议指定需要同步的数据库


特别注意事项:避免参数重复定义,以上参数在配置文件中可能已经存在,可以根据实际情况修改已有或新增

重启 MySQL 服务:

windows系统:
在“服务”管理器中重启 MySQL

linux系统:

sudo systemctl restart mysql # 重启服务

sudo systemctl status mysql # 查看运行状态

docker运行模式下:docker restart <容器名称>

在主库(Master库)中添加同步使用的用户

通过MySQL Cli命令行工具进入数据库,顺序执行以下命令:

CREATE USER 'repl_user'@'192.168.%' IDENTIFIED BY 'Password@123'; --创建同步专用用户 主机地址约束

GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'192.168.%'; -- 授予复制权限

FLUSH TABLES WITH READ LOCK; --锁定表以获取一致的坐标;主库进入“只读模式”,所有的写入操作都会被暂停。保证你配置从库时,主库的数据绝对没有变动。(生产环境建议)

SHOW MASTER STATUS; -- 查看主库状态 获取并记录坐标 操作:把看到的 File 和 Position 记录下来(例如:mysql-bin.000001 和 435)。

UNLOCK TABLES; -- 释放锁,主库恢复正常读写,因为执行过 FLUSH TABLES WITH READ LOCK 否则数据库无法正常工作

配置从库 (Slave)

[mysqld]

server-id = 2 # 从库 ID,必须唯一!建议主库设为 1,从库设为 2, 3

log-bin = mysql-bin # 二进制日志 推荐开启。二进制日志虽然从库不直接写,但开启它有助于做“级联同步”或数据恢复。

relay-log = mysql-relay-bin # 必须配置。这是从库存放从主库拉取过来的“中继日志”的地方。

log-slave-updates = 1 # 推荐。让从库把同步过来的操作也记录到自己的 binlog 里。

read_only = 1 # 只读控制,防止程序误写从库,导致主从数据不一致。

super_read_only = 1 # MySQL 5.7.8+ 建议开启,连 root 用户也限制写入(除了同步线程)。

replicate-do-db = <你要同步的数据库名称> # 只同步指定的库

skip_slave_start = 1 # 防止重启 MySQL 后立即开始同步。可以手动检查网络连通性后再 START SLAVE

记得重启 MySQL 服务


### 第二步:建立同步联系,执行“握手” (CHANGE MASTER)

在 从库 (Slave) 执行:
进入数据库命令行:

执行同步指令 (MASTER_LOG_FILE和MASTER_LOG_POS 请根据你之前执行 SHOW MASTER STATUS; 记录的 File 和 Position数字 修改)

CHANGE MASTER TO MASTER_HOST='<你的master主机ip>', MASTER_USER='<repl_user>', MASTER_PASSWORD='<你的密码>', MASTER_LOG_FILE='mysql-bin.00000X', MASTER_LOG_POS=XXX;

START SLAVE; # 启动同步线程

SHOW SLAVE STATUS\G; # 查看同步状态

执行完 SHOW SLAVE STATUS\G; 后,你要在满屏的文字中寻找这两行:

✅ Slave_IO_Running: Yes (表示成功连上主库,并正在读取 binlog)

✅ Slave_SQL_Running: Yes (表示成功读取到本地并开始执行SQL)

配置成功截图如下所示:
image

http://www.jsqmd.com/news/345609/

相关文章:

  • nginx 添加WebSocket
  • 2026年国产超声波布料切割设备排名,好用的品牌厂商推荐 - 工业设备
  • 参考文献崩了?千笔·专业学术智能体,专科生论文写作神器
  • 2026年航空地面电源厂家哪家好?变频电源与中频静变电源选型指南 - 深度智识库
  • 2026年环境试验设备实力厂家解析:高低温/恒温恒湿/快速温变/冷热冲击/盐雾试验箱等选购指南 - 博客万
  • 【Linux驱动开发】Linux SDIO 底层原理与实现细节详解 - 实践
  • YOLO26改进 - 下采样 _ 轻量化突破:ADown 下采样让 YOLO26 参量减、精度升
  • 惊艳业界!W25Q80DVSSIG:重新定义嵌入式存储的8Mbit串行闪存解决方案
  • 2026儿童羽绒服封神榜!宝妈闭眼入的三大品牌,保暖颜值双在线 - 品牌测评鉴赏家
  • 柔性协同智创高效——苏州光兆协作机械手,赋能制造业柔性升级
  • YOLO26改进 - 注意力机制 ParNet并行子网络:多分支协同优化特征表达,增强模型判别能
  • 瑞祥商联卡怎么提现到微信?3种热门方法教学与操作提示 - 京回收小程序
  • 2026年天津继承纠纷律师联系电话推荐:专业团队与联系指引 - 品牌推荐
  • AO4406-ASEMI以高效稳定赋能全域电子设备
  • YOLO26改进 - 注意力机制 _ CGAFusion (Content-Guided Attention Fusion) 抑制噪声提升跨模态检测精度与鲁棒性_
  • 基于STC89C51单片机控制智能风扇自动跟踪控制系统设计
  • 力扣解题-两数之和
  • YOLO26改进 - 注意力机制 _ Deformable-LKA 可变形大核注意力:自适应采样网格优化特征捕捉,提升不规则目标感知
  • 2026年河南地区灌装机源头厂家推荐,口碑好的品牌都在这 - 工业品网
  • BXMya DO630 3BHT300007R1 数字输出模块
  • 基于STC89C52单片机的智能窗帘控制系统设计
  • YOLO26改进 - 注意力机制 _ Dual-ViT 双视觉变换器:双路径建模协同全局语义与局部特征,增强多尺度感知
  • YOLO26改进 - 注意力机制 _ ELA(Efficient Local Attention)高效局部注意力:突破降维限制精准定位,增强小目标感知
  • 实战指南:基于 Apache Doris 构建企业级 RAG(检索增强生成)应用
  • BXMya DO801 3BSE020510R1 数字输出模块
  • 说说爆款植物基饮料多少钱,深圳、东莞等地这款长牛健值得关注 - 工业品牌热点
  • 探寻2026上半年大型餐饮展览,正规餐饮展览如何选择 - mypinpai
  • 高性价比庭院灯厂家 Top10 推荐,适配多场景 - 深度智识库
  • AI无感情绪监测:基于七维情绪特征与AU特征的AI心理健康服务技术实现
  • 美国加州65材料测试认证更高效:IACheck AI审核加速合规报告提交