在宝塔面板搭建的MySQL主从架构中,主从同步异常是较为常见的问题,其中binlog位置不匹配和网络连通故障是最主要的两类诱因,需要针对性地进行校验排查。

校验binlog位置是否匹配
binlog是MySQL主从同步的核心依据,从库需要基于主库的binlog文件和位置来拉取增量数据,位置不匹配会直接导致同步中断。
查看主库binlog状态
登录宝塔面板,进入数据库模块,选择主库的MySQL,点击phpMyAdmin进入管理界面,执行以下SQL查看主库当前的binlog信息:
-- 查看主库binlog状态 SHOW MASTER STATUS;
执行后会得到类似如下的结果,需要记录File和Position两个字段的值:
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
|---|---|---|---|
| mysql-bin.000003 | 156 |
查看从库同步状态
同样进入从库的phpMyAdmin界面,执行以下SQL查看从库的同步状态:
-- 查看从库同步状态 SHOW SLAVE STATUSG
在返回的结果中,找到Master_Log_File和Read_Master_Log_Pos两个字段,对比这两个值是否和主库的File、Position一致。如果不一致,需要重新配置从库的同步参数。
重新配置从库同步参数
如果binlog位置不匹配,先停止从库的同步线程,再重新指定主库的binlog信息:
-- 停止从库同步 STOP SLAVE; -- 重新配置主库连接信息和binlog位置,替换为实际的主库IP、账号、密码、binlog文件和位置 CHANGE MASTER TO MASTER_HOST='192.168.0.1', MASTER_USER='slave_user', MASTER_PASSWORD='slave_password', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=156; -- 启动从库同步 START SLAVE;
校验网络连通性
如果binlog位置配置正确但同步仍然异常,需要排查主从节点之间的网络连通情况。
检测端口连通性
默认MySQL使用3306端口,在从库服务器上执行以下命令检测是否能连通主库的3306端口:
# 检测主库3306端口连通性,替换为主库实际IP telnet 192.168.0.1 3306
如果提示连接失败,说明端口不通,需要检查主库服务器的防火墙规则。
检查防火墙规则
在宝塔面板中进入安全模块,查看主库服务器的防火墙是否放行了3306端口,如果没有则需要添加放行规则,允许从库服务器的IP访问3306端口。如果是云服务器,还需要检查云服务商的安全组规则,确保3306端口对外开放。
检测主从账号权限
主库上用于同步的账号需要有REPLICATION SLAVE权限,执行以下SQL检查账号权限:
-- 查看同步账号的权限,替换为实际的同步账号 SHOW GRANTS FOR 'slave_user'@'192.168.0.%';
如果没有对应权限,执行以下命令授权:
-- 授权同步权限,替换为实际的同步账号和从库IP段 GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'192.168.0.%'; FLUSH PRIVILEGES;
常见同步异常修复
如果是binlog位置落后太多导致的同步延迟,可以等待同步自动追赶,或者手动调整从库的同步位置。如果是binlog文件被清理导致无法找到对应位置,需要重新导出主库全量数据,导入从库后重新配置同步。
操作前建议先对主从数据库进行备份,避免操作失误导致数据丢失。
MySQL主从同步binlog位置校验网络连通检测宝塔面板修改时间:2026-07-03 08:57:23