MySQL 崩溃并出现错误 23

标签 mysql

将一批数据加载到 MySQL 数据库时(所有内容都在本地运行,用于研究项目的数据管理),服务器无缘无故崩溃了。检查日志显示以下错误:

ERROR, InnoDB: Operating system error number 23 in a file operation.
InnoDB: Some operating system error numbers are described at http://dev.mysql.com/doc/refman/5.7/en/operating-system-error-codes.html
ERROR, InnoDB: File .\analysis_lastfm\lastfm_scrobbles.ibd: 'Windows aio' returned 
   OS error 123. Cannot continue operation
InnoDB: Cannot continue operation.

这基本上似乎表明,不知何故,命名的 .ibd 文件已损坏。经过各种不成功的调试尝试后,我最终删除了所有数据,重新安装了 MySQL,并尝试从备份恢复。该备份是在我出现任何问题之前进行的(换句话说,备份中的数据是否有任何问题似乎值得怀疑)。所有其他表都恢复正常,但从 lastfm_scrobbles 表导入数据几个小时后,服务器因相同的错误而崩溃。

我意识到这个问题并不那么具体,但我主要是想弄清楚我的下一步故障排除步骤应该是什么(记住我已经重新安装了 MySQL 并尝试从备份恢复) 。此时我唯一的其他想法是重新格式化硬盘并重新尝试恢复,但我不知道此时这是否真的有必要......

最佳答案

鉴于问题可能不是损坏,最有可能的错误是系统打开了太多文件。这个问题在 Windows 上不像在 Linux 上那样被很好地理解/记录。

这可能有助于将 table_open_cache 和 innodb_open_files 变量减小得更小。如果您可以报告其当前大小,我们也许可以推荐更好的值,但似乎打开文件总数可能需要低于 512-2048(不确定具体是哪个)。

显示全局变量,如“%open%”;

关于MySQL 崩溃并出现错误 23,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31175206/

相关文章:

c# - 测试 C# MySQL 连接池失败并出现异常 : Connection must be valid and open

不支持 MySQL 关键字 : 'port' error in C# application

php - 我的 mysql 和 php 有问题

php - MySQL:更新没有保证唯一字段的行

mysql - sails.js 查询表列内的 json 对象

mysql - 在 Django ORM 中选择中间行

第 1 行的 mysql 错误 'NULL'

php - 删除插入到 mysql 中的 post html、js、css

sql - 为什么逗号弄乱了插入

mysql - 1 列的多个外键