首页
学习
活动
专区
圈层
工具
发布

故障分析 | MySQL : slave_compressed_protocol 导致 crash

也能复现 crash 的问题: sed -n '2031,2217p' create.sql > insert.sql 所以 crash 的第2个条件是:插入 longblob 大对象 5. slave_compressed_protocol...经过不断的测试,每次修改一批参数(注意前面已经定位到跟半同步复制有关,所以一定要同时修改主、从库的参数),不断缩小范围,最终定位到是从库设置 slave_compressed_protocol=on 的影响...从库 slave_compressed_protocol=ON 时,还会导致从库 slave io thread 一直断开与主库的连接,并不断重连,从库 error log 报错如下: 2020-04-...id=85382 结论 此次 crash 的触发条件有3个: 插入 longblob 大对象; 半同步复制,并且在 insert longblob 大对象时伴随有其他外部写流量; slave_compressed_protocol...解决方案 set slave_compressed_protocol=OFF 即可,另外官方文档也说明不要配置此参数,后续版本将会删除此参数: As of MySQL 8.0.18, this system

1.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    row_format=compressed的细节和压缩的溢出页(FIL_PAGE_TYPE_ZBLOB)的简单介绍

    varchar(20) not null, c6 varchar(300), c7 varchar(300) not null, c8 blob, c9 blob not null) row_format=compressed...压缩行的溢出页格式 FIL_PAGE_TYPE_ZBLOB 我们之前讲过非压缩页的溢出页,5.7的也有讲, 但是没得row_format=compressed的溢出页.... 这不,就来补上了么....其实row_format=compressed的溢出页(FIL_PAGE_TYPE_ZBLOB)非常简单, 就单纯的流式压缩,没得啥结构(除了比较固定的38字节fil_header)....(小细节: 大字段中: lob显示为hex格式, text显示为字符形式, 也是根据mysql显示效果来的) 总结 虽然row_format=compressed使用得不多,但使用该格式就很可能有溢出页了...简单总结下: row_format=compressed的元数据信息存储方式虽然复杂, 但我们只需要考虑不超过255字节的非空变长字段即可, 毕竟就它和结束标记符相同. row_format=compressed

    16020
    领券