版本: Mysql server 版本为 8.0,安装在 Windows server 2019 上。
问题陈述:来自位置 C:\programdata\mysql80\data\ 的错误日志文件正在增加,大约为 ~100GB。错误日志语句是:
[警告] [MY-011959] [InnoDB] 在缓冲池中很难找到空闲块(6091 次搜索迭代)!6091 刷新页面的尝试失败!考虑增加缓冲池大小。在您的 Unix 版本中,fsync 也可能非常慢,或者完全冻结在操作系统内核中。然后升级到更新版本的操作系统可能会有所帮助。查看下面诊断信息中的 fsync 数量。待刷新(fsync)日志:0;缓冲池:0。1738 个 OS 文件读取,217 个 OS 文件写入,45 个 OS fsync。启动 InnoDB Monitor 以将进一步的诊断信息打印到标准输出。
设想:
- 无法将超过 4MB 的数据大小更新到数据库,因此我们将“mysql.ini”文件中的“max_allowed_packet”从默认的 4M 更改为 256M。
- 此设置重新启动 mysqld 服务后,此数据库更改后一切正常。
- 但 2 天后,我们遇到了上述问题,结果磁盘空间已满,数据库连接在队列中挂起。
- 尝试停止 mysql80 服务并删除 error.log 文件并将 max_allowed_packet 恢复为其默认大小。
- 但是随着更改,错误文件也会再次创建并发出相同的警告。
有什么可能的问题或解决方法?