InnoDB:为文件 XXX.ibd 预分配 147456 字节失败,出现错误 2
InnoDB: preallocating 147456 bytes for file XXX.ibd failed with error 2
我正在使用官方 MariadDB 10.7 docker 图像,Windows 10。如果这个错误从今天开始一直重复,尝试了一切:
- mysqlcheck -Ar
- delete docker image with all the data
- chkdsk -F
- dump and restore of table
- change MariaDB version
- different PC configs (nvme -> SSD)
在长时间阅读 MariaDB 错误跟踪器上的每个相关错误后,我在 Docker 环境中做了一个更改:
- disable WSL2, switch to Hyper-V
瞧,开始工作了。
现在,有趣的是,同事遇到了同样的问题,但 WSL2 已经被禁用,他的问题已通过启用 WSL2 得到解决。
所以我猜想,在 WSL2 和 Hyper-V 之间更改操作时,发生了一些事情,在使用图像时被损坏并使用此开关重置。
ATM 我没有时间切换回 WSL2 来确认我的假设。有时间我会更新这个post.
更新:
找不到容器配置的解决方案,所以我尝试了旧版本的 MariaDB docker 容器,它开始在 10.3.9 版本上工作。现在,我将使用这个版本,直到我找到更多时间去 MariaDB 的 Jira 并在那里报告错误。
我正在使用官方 MariadDB 10.7 docker 图像,Windows 10。如果这个错误从今天开始一直重复,尝试了一切:
- mysqlcheck -Ar
- delete docker image with all the data
- chkdsk -F
- dump and restore of table
- change MariaDB version
- different PC configs (nvme -> SSD)
在长时间阅读 MariaDB 错误跟踪器上的每个相关错误后,我在 Docker 环境中做了一个更改:
- disable WSL2, switch to Hyper-V
瞧,开始工作了。
现在,有趣的是,同事遇到了同样的问题,但 WSL2 已经被禁用,他的问题已通过启用 WSL2 得到解决。
所以我猜想,在 WSL2 和 Hyper-V 之间更改操作时,发生了一些事情,在使用图像时被损坏并使用此开关重置。
ATM 我没有时间切换回 WSL2 来确认我的假设。有时间我会更新这个post.
更新: 找不到容器配置的解决方案,所以我尝试了旧版本的 MariaDB docker 容器,它开始在 10.3.9 版本上工作。现在,我将使用这个版本,直到我找到更多时间去 MariaDB 的 Jira 并在那里报告错误。