Error number: MY-013673; Symbol: ER_IB_DBLWR_DECOMPRESS_FAILED; SQLSTATE: HY000
Message: Failed to decompress a DBLWR page (err=%d). The original size is %d. Reporting the dblwr page as corrupted.
MySQL错误MY-013673(ER_IB_DBLWR_DECOMPRESS_FAILED,SQLSTATE:HY000)表示InnoDB发生了内部错误,无法将一个压缩的双写缓冲区解压缩出来。此错误一般由数据库崩溃、数据库重启等外部原因导致,发出此错误的主要原因是InnoDB内部损坏的双写缓冲区消息。
1、网络断开或延迟造成双写缓冲区传输错误;
2、关闭MySQL实例过程中(系统重启,my.cnf参数调整,kill掉mysql进程等)读取双写缓冲区内容时发生异常;
3、磁盘出现了问题,如文件系统损坏、硬盘故障等,影响InnoDB读取双写缓冲区内容;
4、由于当前双写缓冲区过大,撑爆了binlog缓冲区,导致双写缓冲区内容没有正确写入;
5、外围系统异常或实例重启强制解压双写缓冲缓冲区失败;
解决此问题的方法要根据发生此错误的原因来确定,一般情况下,可以采取如下措施:
1、如果数据库实例发生崩溃,请重启MySQL实例,一般双写缓冲区问题会得到解决;
2、如果数据库磁盘存在问题,请尽快对磁盘进行恢复处理;
3、如果双写缓冲区太大,应减小binlog_buffer_size,再重启MySQL实例;
4、发生此问题后,应尽快收集MySQL error log日志,以诊断此错误;
5、检查MySQL实例运行情况,确定双写缓冲区是否有内容传输,如果没有,可能是网络问题或者双写缓冲区过小造成的;
6、关闭系统特定的网络性能改进功能,例如tcp_window_scaling,重新启动MySQL实例。