BT宝塔面板之前提供的 MySQL 主从复制插件虽然方便,但在某些方面(比如基于 Binlog Position 的复制方式)可能存在一些局限性。现在,BT宝塔推出了MySQL 主从复制(重构版),采用了更先进的 GTID (Global Transaction Identifier) 方式进行复制。这种方式在主库发生故障切换时更加方便和可靠。
宝塔服务器面板,一键全能部署及管理,免费管理及注册,注册地址:https://www.bt.cn
咱们主题铺这就结合官方的说明,给大家整理一份使用BT宝塔新版 MySQL 主从复制(重构版) 插件配置主从同步的BT宝塔图文教程。
前言:为啥要用新版主从复制?
数据库在网站业务中的重要性不言而喻,它的安全性和稳定性直接关系到网站的生死存亡。MySQL 主从复制可以将主数据库的数据实时同步到一个或多个从数据库,主要有两大好处:
- 数据备份与容灾: 当主库发生意外(比如硬盘损坏、服务器宕机)时,从库拥有几乎实时的数据备份,可以将损失降到最低。
- 读写分离: 可以将读操作(如网站前台查询)分摊到从库上,减轻主库的压力,提升网站整体性能(不过BT宝塔这个插件主要侧重于备份容灾)。
BT宝塔之前的主从复制插件使用的是基于 Binlog 文件和位置(Position)的方式。这种方式在主库故障后,切换到从库时配置相对麻烦,容易出错。
而这次的重构版插件,采用了 GTID 方式。GTID 为每个事务分配了一个全局唯一的 ID,从库只需要知道自己已经复制到哪个 GTID,就能准确地找到下一个需要复制的事务,不受 Binlog 文件切换的影响。这使得在主库宕机后,将从库提升为主库的操作更加简单和可靠,能更快地恢复业务。
重要提醒!版本兼容性问题!
不兼容旧版: 这个重构版(可以理解为 3.0 版本)与之前的 2.0 版本不兼容!如果你当前的主从复制运行正常,请勿轻易升级到这个重构版!
已更新想回退? 如果你不小心更新到了重构版,但想用回旧版,可以执行以下命令进行还原(在 SSH 中以 root 权限执行):
wget -O remysql_slave.sh https://download.bt.cn/tools/remysql_slave.sh && bash remysql_slave.sh准备工作:环境与注意事项
在开始配置之前,请确保满足以下条件:
- 环境示例(你需要根据自己的实际情况替换):
- 主库服务器 IP: 192.168.1.181
- 主库宝塔面板版本: 8.0.6 或更高(原文是 9.5.0,可能是内部版本或笔误,请确保是较新版本)
- 主库 MySQL 版本: 5.7.44 (或 8.0.x)
- 主库插件: 需要安装 MySQL 主从复制(重构版) 插件
- 从库服务器 IP: 192.168.1.54
- 从库宝塔面板版本: 8.0.6 或更高
- 从库 MySQL 版本: 5.7.44 (或 8.0.x)
- 注意事项(非常重要!):
- 从库无需安装插件: “MySQL 主从复制(重构版)”插件只需要安装在主库服务器上。从库服务器不需要安装此插件。
- MySQL 版本限制: 此插件目前仅支持 MySQL 5.7 和 8.0 这两个大版本。
- 主从版本必须一致: 主库和从库的 MySQL 大版本号必须相同!例如,主库是 5.7.x,从库也必须是 5.7.y;主库是 8.0.x,从库也必须是 8.0.y。小版本号可以不同,但强烈建议尽量保持一致。
- 仅支持一主多从: 当前插件只支持一个主库同步到多个从库的模式,不支持主主复制或更复杂的拓扑结构。
- 首次同步会重启 MySQL: 第一次添加要同步的数据库时,插件需要修改主库和从库的 MySQL 配置文件(例如开启 GTID、设置 server-id 等),修改配置后需要重启 MySQL 服务才能生效。请在业务低峰期操作!
配置步骤详解
第一步:获取从库服务器的 API 密钥
我们需要让主库的插件能够连接并操作从库的宝塔面板和 MySQL。
- 登录从库服务器的BT宝塔面板。
- 点击左侧菜单的“面板设置”。
- 切换到“API 接口”选项卡。
- 开启接口(如果尚未开启)。
- 记录下接口密钥 (API 密钥)。
- 重要: 在“IP 白名单”中,添加主库服务器的公网或内网 IP 地址,否则主库无法通过 API 连接到从库。
![图片[1]-BT宝塔面板MySQL主从复制(重构版)配置图文教程-主题铺](https://cdn.zhutipu.com/wp-content/uploads/2025/05/20250505162418340.png/ztp)
第二步:在主库配置 MySQL 主从插件
现在回到主库服务器的宝塔面板进行操作。
- 打开插件:
- 确保你已经在主库安装了“MySQL 主从复制(重构版)”插件。
- 点击插件列表中的该插件,打开设置界面。
- 填写从库信息:
- 从库面板地址: 填写从库BT宝塔面板的访问地址,注意是
http还是https,别填错了。例如http://192.168.1.54:8888或https://your-slave-domain.com:8888。 - 从库 API 密钥: 粘贴上一步在从库获取到的 API 密钥。
- 主库 IP 地址: 填写主库服务器的 IP 地址。
- 从库 IP 地址: 填写从库服务器的 IP 地址。
- 主题铺建议: 如果主库和从库在同一个内网(比如都在阿里云的同一个 VPC 内),强烈建议填写内网 IP 地址,速度更快更稳定。如果不在同一内网,则填写公网 IP。确保主从服务器之间的防火墙(BT宝塔防火墙、服务器安全组、云服务商防火墙等)允许对方 IP 的访问,特别是 MySQL 的端口(默认为 3306)和BT宝塔面板端口。
- 点击“下一步”。
- 从库面板地址: 填写从库BT宝塔面板的访问地址,注意是
![图片[2]-BT宝塔面板MySQL主从复制(重构版)配置图文教程-主题铺](https://cdn.zhutipu.com/wp-content/uploads/2025/05/20250505162425992.png/ztp)
- 选择要同步的数据库:
- 插件会自动列出主库上的所有数据库。
- 勾选你想要同步到从库的数据库。你可以选择一个或多个。
- 点击“下一步”。
![图片[3]-BT宝塔面板MySQL主从复制(重构版)配置图文教程-主题铺](https://cdn.zhutipu.com/wp-content/uploads/2025/05/20250505162428249.png/ztp)
- 选择同步模式:
- 这里通常会提供几种初始化同步的方式,例如:
- 面板同步(推荐): 插件会自动处理数据的初始化同步过程。这是最简单的方式。
- 手动导入: 你需要自己先将主库的数据库备份,然后导入到从库,插件只负责后续的增量同步。适合数据量巨大或网络不稳定的情况。
- 跳过初始化: 如果你确定从库已经有了和主库一致的数据(比如刚用备份恢复过),可以选择此项。
- 主题铺建议: 对于大多数情况,直接选择“面板同步”或类似选项即可。根据插件界面的提示进行选择。
- 点击“开始同步”或类似按钮。
- 这里通常会提供几种初始化同步的方式,例如:
![图片[4]-BT宝塔面板MySQL主从复制(重构版)配置图文教程-主题铺](https://cdn.zhutipu.com/wp-content/uploads/2025/05/20250505162433800.png/ztp)
- 等待同步完成:
- 插件会开始进行配置(可能需要重启 MySQL)和数据同步。
- 你可以在插件界面查看到同步的状态和进度。
- 根据数据库的大小和网络情况,初始化同步可能需要一些时间,请耐心等待。
- 当状态显示为“同步成功”或类似字样时,就表示主从复制配置完成了!
![图片[5]-BT宝塔面板MySQL主从复制(重构版)配置图文教程-主题铺](https://cdn.zhutipu.com/wp-content/uploads/2025/05/20250505162436547.jpg/ztp)
后续管理与验证
- 查看状态: 配置完成后,你可以在插件界面随时查看主从同步的状态,包括延迟时间、GTID 信息等。
- 验证数据: 可以登录从库的数据库(例如通过 phpMyAdmin 或命令行),检查选定的数据库和表是否已经同步过来,并尝试在主库进行一些数据修改(增删改),稍等片刻后查看从库数据是否也相应更新。
最后总结
BT宝塔面板的这款 MySQL 主从复制(重构版) 插件,通过采用 GTID 模式,确实让 MySQL 主从配置和后续的故障切换变得更加现代化和可靠。虽然配置过程需要注意一些版本兼容性和网络设置的细节,但总体来说,通过BT宝塔的可视化界面操作,相比手动配置还是方便了不少。
记住,数据安全无小事!如果你对网站数据的安全性和业务连续性有较高要求,配置 MySQL 主从复制是一个非常值得投入的操作。希望这篇教程能帮助你顺利完成配置!如果在操作中遇到问题,也欢迎在评论区交流讨论。
















暂无评论内容