安装MySQL Server 8.0写配置文件报Object reference错误如何解决
问题说明
使用MySQL Installer安装MySQL Server 8.0.29版本时,执行应用配置流程的写入配置文件环节报错,对应步骤执行日志:
Beginning configuration step: Writing configuration file Saving my.ini configuration file... Object reference not set to an instance of an object. Ended configuration step: Writing configuration file
触发原因
- 安装路径、数据存储路径包含中文、特殊字符或空格,Installer拼接配置路径时无法获取有效路径对象,触发空引用报错
- 历史MySQL版本未卸载干净,残留的注册表项、系统服务、旧my.ini文件权限异常,Installer读取旧配置项时返回空值
- 运行Installer的权限不足,无法访问目标配置目录,写入配置时无法获取有效文件流对象
- 自定义配置阶段指定了不存在的目录作为安装/数据存储路径,Installer校验路径失败触发空引用
- MySQL Installer 8.0.29版本本身存在小概率配置流程bug,在特定系统环境下会无理由触发该空引用错误
排查修复方案
- 清理历史残留:删除
C:\Program Files\MySQL、C:\ProgramData\MySQL目录下所有残留文件,打开注册表编辑器删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application\MySQL相关注册表项,管理员身份打开命令提示符执行sc delete MySQL80删除残留系统服务,重启设备后重新运行安装程序 - 权限调整:右键点击MySQL Installer安装包,选择「以管理员身份运行」,规避系统权限拦截导致的文件访问失败
- 路径配置规避:首次安装先使用默认路径完成流程,默认安装路径为
C:\Program Files\MySQL\MySQL Server 8.0,默认数据存储路径为C:\ProgramData\MySQL\MySQL Server 8.0\Data,安装完成后如果需要调整路径,再手动修改my.ini配置即可 - 若必须自定义路径,提前手动创建好全英文、无特殊符号、无空格的目标目录,给目录授予Users组完全控制权限后,再在安装流程中选择该路径
- 以上方案都无效时可直接跳过Installer的配置环节:安装程序走完文件复制步骤后,手动在MySQL安装根目录创建my.ini配置文件,通过命令行执行mysqld命令完成数据库初始化、服务注册流程,绕开Installer的配置bug
内容的提问来源于stack exchange,提问作者Prakash
相关产品推荐
相关产品推荐

