You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL执行mysqld --initialize时出现InnoDB错误87如何解决?

解决MySQL初始化时InnoDB AIO写入错误(OS Error 87/187)

我之前在Windows上安装解压版MySQL时也碰到过一模一样的InnoDB错误,结合你给出的日志信息,这大概率是异步IO(AIO)兼容性问题加上可能的权限/残留文件导致的,给你几个一步步的解决方法:

  • 禁用InnoDB原生异步IO
    Windows环境下MySQL的原生AIO有时候会出现兼容性问题,直接禁用就能解决这个核心错误。你需要在MySQL根目录创建(或修改)my.ini配置文件,添加以下内容:

    [mysqld]
    basedir=D:\你的MySQL解压路径(比如D:\mysql-8.0.36-winx64)
    datadir=D:\你的MySQL数据存储路径(比如D:\mysql-8.0.36-winx64\data)
    innodb_use_native_aio=0
    explicit_defaults_for_timestamp=1  # 顺便解决那个TIMESTAMP警告
    

    注意替换成你自己的实际路径,保存后再重新执行初始化命令。

  • 清理残留的初始化文件
    如果之前执行过mysqld --initialize失败,datadir目录里会留下损坏的日志文件(比如你日志里的ib_logfile101),这些残留会导致再次初始化失败。请:

    1. 确保MySQL服务没有运行(如果已经注册过服务的话先停止)
    2. 清空datadir目录下的所有文件和文件夹
    3. 重新执行mysqld --initialize
  • 检查目录权限
    错误码87也可能和权限不足有关,确保你的Windows用户对MySQL的安装目录和datadir目录拥有完全控制权限:

    1. 右键点击目录 → 属性 → 安全选项卡
    2. 找到当前登录用户,勾选“完全控制”的允许权限
    3. 点击应用后再尝试初始化

按照这个顺序操作,基本就能解决这个InnoDB无法继续运行的问题了。

内容的提问来源于stack exchange,提问作者moses toh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:32:29