You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL 5.5与MariaDB 10.2主从复制中继日志写入失败求助

解决MySQL 5.5 主库与Docker部署MariaDB 10.2从库的中继日志写入失败问题

我碰到过好几个类似跨版本+Docker部署的主从复制场景,很容易因为环境差异触发Relay log write failure: could not queue event from master这个错误。结合你的配置信息,咱们一步步排查解决:

1. 先排查磁盘空间问题(最常见原因)

Docker容器的存储依赖宿主机磁盘,或者你挂载的外部卷,一旦磁盘满了,中继日志根本写不进去。

  • 检查宿主机磁盘使用情况:
    df -h
    
  • 进入Docker容器内部检查磁盘:
    docker exec <你的MariaDB容器名/ID> df -h
    

如果发现磁盘使用率接近100%,清理无用文件(比如旧的binlog、中继日志,或者宿主机的垃圾文件),或者扩容磁盘空间。

2. 检查中继日志目录的权限

Docker容器内的MariaDB进程默认以mysql用户运行,如果挂载的目录权限不对,会导致无法写入中继日志。

  • 查看容器内中继日志所在目录的权限(默认是/var/lib/mysql/):
    docker exec <你的MariaDB容器名/ID> ls -l /var/lib/mysql/ | grep relay
    
  • 如果权限不是mysql:mysql,修改权限:
    docker exec <你的MariaDB容器名/ID> chown -R mysql:mysql /var/lib/mysql/
    

另外,如果你是用外部卷挂载/var/lib/mysql,启动容器时要确保卷的权限正确,或者添加--user mysql参数(注意有些场景下可能需要调整宿主机卷的权限)。

3. 排查跨版本兼容性问题

MySQL 5.5和MariaDB 10.2虽然兼容,但部分binlog事件格式可能存在差异:

  • 先检查主库的binlog格式:
    -- 在MySQL主库执行
    SHOW VARIABLES LIKE 'binlog_format';
    

如果是STATEMENT格式,建议改成MIXED或者ROW(注意:切换格式前要评估业务影响,比如某些依赖SQL上下文的业务可能需要调整):

SET GLOBAL binlog_format = 'MIXED';
-- 永久生效需要修改主库my.cnf,添加binlog_format=MIXED,然后重启主库
  • 可以用mysqlbinlog工具解析主库的binlog,查看是否有MariaDB 10.2无法识别的事件:
    mysqlbinlog --no-defaults /path/to/mysql-bin.xxxxxx
    

4. 检查主从连接与网络稳定性

网络波动或者主从连接异常可能导致从库接收的binlog事件不完整,触发写入失败:

  • 在MariaDB从库查看复制状态:
    SHOW SLAVE STATUS\G
    

重点看Slave_IO_Running是否为Yes,以及Last_IO_Error里的错误信息,排查连接问题。

  • 测试从库容器到主库的网络连通性:
    docker exec <你的MariaDB容器名/ID> ping <主库IP>
    
  • 测试复制用户的连接权限:
    docker exec <你的MariaDB容器名/ID> mysql -h <主库IP> -u repl -pDuoS123 -e "SELECT 1;"
    

如果连接失败,检查主库的防火墙、安全组是否开放3306端口,或者复制用户的权限是否正确(你已经创建了repl@'%',但要确认主库是否允许远程连接)。

5. 检查中继日志配置参数

从库的中继日志相关配置可能限制了写入:

  • 在MariaDB从库查看中继日志配置:
    SHOW VARIABLES LIKE 'relay_log%';
    

如果relay_log_space_limit设置了较小的值(比如几G),可以调大或者直接注释掉(不限制中继日志大小):

SET GLOBAL relay_log_space_limit = 0; -- 0表示不限制
-- 永久生效需要修改容器内的my.cnf(或者你挂载的配置文件),添加relay_log_space_limit=0,然后重启容器

内容的提问来源于stack exchange,提问作者frodo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:18:14