XAMPP 启动 MySQL 报错

本贴最后更新于 2233 天前,其中的信息可能已经天翻地覆

问题重述

XAMPP 启动 mysql 时,出现错误,提示如下:
mysql_start_error


问题适用情况

在安装 XAMPP 环境之前,本地独立安装了 MySQL 开发环境,此时在 XAMPP 启动 MySQL 时就会出现上面问题,是这样的情况,可以试试下面的方法来解决。


解决方案

打开注册表(快捷打开方式:cmd->regedit),找到 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL] 下的 ImagePath 项,如下图:
mysql_ImagePath
此时 mysql 的 ImagePath 值为 D:\mysql-5.1.73-winx64\bin\mysqld --defaults-file=my.ini MySQL , 即指向本地 mysql 安装路径下。
这里写图片描述
将此处修改为 D:\xampp\mysql\bin\mysqld --defaults-file=my.ini MySQL ,其中 D:\xampp\mysql\bin\mysqld 为 XAMPP 环境中 mysql 的路径,并指定默认的配置文件为 my.ini。
修改完后,关闭注册表,关闭任务管理器中的 mysqld.exe (如果有此项的话) ,打开服务,找到 MySQL 服务,查看属性,我们可以看到此时 MySQL 的可执行文件路径指向到了 XAMPP 下的 MySQL 路径
这里写图片描述
之后在 XAMPP 控制台中重新启动 MySQL,此时我的 MySQL 终于启动了。
mysql_start_success


最终解决

不难发现,其实 XAMPP 并没有启动 MySQL,因为在进程中可以看到,任务只是 mysqld.exe 进程启动,且 MySQL 显示启动中。通过 phpmyadmin,我们可以清晰的看到 MySQL 服务还是有问题的。
这里写图片描述
此时的 MySQL 服务会一直启动中,且停止服务时,会出现无法停止服务的提示
mysql_stop
而此时的进程中,可以发现 mysqld.exe 进程启动了,但没有正常启动服务
mysqld
进服务管理器(快捷方式 cmd->services.msc)中发现,启动 MySQL 时出现了 1053 错误
mysql_error:1053
此时,我的解决方法就是再还原 MySQL 的 ImagePath 值。
然后关闭 XAMPP 及 MySQL 服务和 mysqld.exe 进程,之后运行 XAMPP 控制台,此时报如下错误:
这里写图片描述
可以发现错误中,说明了是路径问题,所以我复制了 Expected Path 后的路径 d:\xampp\mysql\bin\mysqld.exe --defaults-file=d:\xampp\mysql\bin\my.ini mysql 到 MySQL 的 ImagePath,此时运行,会出现下面错误
这里写图片描述
于是按照错误打开日志,即 XAMPP 控制台中,MySQL 的后 log 按钮,打开日志,会看到下面错误
这里写图片描述
日志里面说 InnoDB: Cannot create D:\xampp\mysql\data\ib_logfile101 ,于是将 D:\xampp\mysql\data 目录下的 ib_logfile101 删掉了,顺手我还把 ibdata1 文件删了,之后关闭控制台,重新尝试,发现还是这个错误,再打开日志和上面类似
这里写图片描述
可以看到 ib_logfile101 文件创建成功,但是这里 Cannot create D:\xampp\mysql\data\ib_logfile1 又不能创建 ib_logfile1 文件了,于是将 D:\xampp\mysql\data 下的 logfileibdata1 全删了,之后关闭控制台,重新启动,终于启动 MySQL 了。
这里写图片描述
关闭重新尝试,也没有问题了,此时控制台还会提示如下:
这里写图片描述
就是建议采用管理员模式运行 XAMPP。

:这里要注意的就是,将 logfileibdata1 文件复制、替换 D:\xampp\mysql\data 下的 logfileibdata1 文件,使用 MySQL 启动时,依旧会报上面的错误,具体原因不是很清楚,有知情者,望不吝告知,谢谢。


这里不知道有没有更好的解决方式,因为此法只是可以让 XAMPP 启动集成环境中的 MySQL,此时本地单独安装的 MySQL 要启动需要换回 ImagePath 值。所以个人觉得如果要使用 XAMPP 集成环境,还是卸载本地安装的 MySQL,之后重新安装 XAMPP 环境,可能会省事点。如果有更好的解决方式,希望可以留言告知,谢谢!

  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3453 回帖 • 203 关注
  • XAMPP
    2 引用 • 3 回帖
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    690 引用 • 535 回帖
  • error
    6 引用 • 2 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...