安装MySQL-9.1.0-winx64.msi的报错解决办法:Database initialization failed

错误日志:数据库初始化失败

开始配置步骤:写入配置文件

保存my.ini配置文件...
已保存my.ini配置文件。
结束配置步骤:写入配置文件

开始配置步骤:更新Windows防火墙规则

为MySQL91添加Windows防火墙规则,端口3306。
尝试添加Windows防火墙规则,命令:netsh.exe advfirewall firewall add rule name="Port 3306" protocol=TCP localport=3306 dir=in action=allow
操作成功。

成功添加了Windows防火墙规则。
为MySQL91添加Windows防火墙规则,端口33060。
尝试添加Windows防火墙规则,命令:netsh.exe advfirewall firewall add rule name="Port 33060" protocol=TCP localport=33060 dir=in action=allow
操作成功。

成功添加了Windows防火墙规则。
结束配置步骤:更新Windows防火墙规则

开始配置步骤:调整Windows服务

尝试为'NT AUTHORITY\NetworkService'账户授予所需的文件系统权限。
已授予数据目录权限。
已授予安装目录权限。
添加新服务
新服务已添加
结束配置步骤:调整Windows服务

开始配置步骤:初始化数据库(可能需要较长时间)

尝试使用--initialize-insecure选项运行MySQL Server...
启动MySQL Server 9.1.0进程...
启动进程命令:C:\Program Files\MySQL\MySQL Server 9.1\bin\mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 9.1\my.ini" --console --initialize-insecure=on --lower-case-table-names=1...
进程mysqld,ID 7608,成功运行并退出,退出代码 -1073741819。
未能启动MySQL Server 9.1.0进程。
数据库初始化失败。
结束配置步骤:初始化数据库(可能需要较长时间)

尝试重现问题

image

寻求解决方案

  • 尝试了网上的各种方法,例如:
  • 将计算机名称更改为中文
  • 将my.ini文件内容更改为中文
  • 授权Beta 版:使用Unicode UTF-8提供全球语言支持(U)
    等等,但都未能解决问题。
  • 最终,在一篇博客的指导下解决了此问题。
  • MySQL的两个主要问题是:
  • 卸载不彻底,我们使用Geek来卸载MySQL的文件,位置在ProgramDataProgram Files两个目录下,文章末尾有关于MySQL服务的删除方法。
  • 缺少依赖项Microsoft Visual C++ 2013:我们使用微软常用运行库合集(Visual C++)2024.11.07来解决这个问题。

附录

  • 如何删除已创建的MySQL91服务:
    使用注册表卸载服务
    使用Windows + R快捷键打开「运行」对话框,执行regedit打开注册表编辑器。导航到路径HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,找到MySQL91并删除。方法参考自系统极客:4 种简单方法,帮你轻松删除 Windows 服务,我尝试了第三种方式,因为它更为优雅。
  • 另一种安装方法
    在问题解决前,我通过从MySQL官网下载的压缩包zip解压后,根据这篇文档的教程配置初始化文件mysql.ini和新建data文件夹,这种方法也是可行的。

相关文章

暂无评论

暂无评论...