MySQL Error number: MY-013960; Symbol: ER_IB_BULK_FLUSHER_INFO; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-013960; Symbol: ER_IB_BULK_FLUSHER_INFO; SQLSTATE: HY000
Message: bulkflusher: sleep_count=%zu, sleep_duration=%zu milliseconds, total_sleep=%zu milliseconds, pages_flushed=%zu
##### 错误说明
MY-013960; ER_IB_BULK_FLUSHER_INFO; HY000: 是InnoDB的一个报错代码,表示在刷新缓冲区时发生了某些错误。这个错误表示某个缓冲区正在做I/O或等待状态,且无法及时返回结果。
常见案例
ER_IB_BULK_FLUSHER_INFO; HY000 错误通常发生在MySQL执行大量查询或更新等数据库操作时,比如大量导入数据或使用INSERT INTO select等,由于InnoDB缓冲池中数据量较多,缓冲区空间占满,就会发生这样的错误。
##### 解决方法
1. 检查InnoDB缓冲池的大小,是否过小,如设置过小可以将其调整。
2. 检查磁盘健康状况,磁盘如果有损坏或正在进行长时间的磁盘检查,也会导致该问题发生。
3. 如果MySQL对应的磁盘受磁场影响,也可能导致这个错误,需要迁移磁盘到另一个地方尝试。
4. 将MySQL 运行默认参数中的innodb_lru_scan_depth 参数值调大,或者设置innodb_adaptive_flushing动态适应刷新缓冲池的策略
5. 检查系统中运行的其他应用程序是否正在使用大量硬盘资源,导致IO响应时间变长,影响MySQL缓冲区的读写能力(如果有的话)
6. 如果MySQL是以Master/Slave模式运行,可以尝试定时同步MySQL运行情况,以减少缓冲池差异