MySQL 8.4 Release Notes
17.20.1 InnoDB I/O 问题故障排除
解决InnoDB I/O 问题的步骤取决于问题何时发生:MySQL 服务器启动时还是在正常操作中由于文件系统级别问题而失败的 DML 或 DDL 语句。
如果InnoDB 初始化表空间或日志文件时出错,删除所有由InnoDB 创建的文件:所有ibdata 文件和所有 redo 日志文件(#ib_redo 文件)。如果您创建了任何NInnoDB 表,同样删除 MySQL 数据库目录中的所有.ibd 文件。然后再次初始化InnoDB。为了最简便的故障排除,使用命令提示符启动 MySQL 服务器,以便您看到发生的事情。
如果InnoDB 在文件操作时打印操作系统错误,通常问题有以下解决方案:
-
确保
InnoDB数据文件目录和InnoDB日志目录存在。 -
确保mysqld 可以在那些目录中创建文件。
-
确保mysqld 可以读取正确的
my.cnf或my.ini选项文件,以便它使用您指定的选项启动。 -
确保磁盘不满和您没有超过磁盘配额。
-
确保您指定的子目录和数据文件名称不冲突。
-
重复检查
innodb_data_home_dir和innodb_data_file_path值。特别是,innodb_data_file_path选项中的任何MAX值是一个硬限制,超过该限制将导致致命错误。