无法通过 XAMPP 启动 mysql - mysql\db 崩溃

Unable to start mysql via XAMPP - mysql\db crashed

我已经成功地在我的 windows 10 PC 上使用 XAMPP 到 运行 我在本地工作的网站,直到今天。

当我尝试启动 MySQL 时,它失败了。错误日志状态:

mysqld.exe: Table '.\mysql\db' is marked as crashed and last (automatic?) repair failed
Fatal error: Can't open and lock privilege tables: Table '.\mysql\db' is marked as crashed and last (automatic?) repair failed

在尝试解决此问题时,我尝试了以下操作:

mysqlcheck --repair --use-frm --all-databases

但这给了我以下错误:

Got error: 2002: Can't connect to MySQL server on 'localhost' (10061) when trying to connect

我想这是有道理的,因为 mysql 服务无法 运行。

我也试过运行从此目录中安装以下内容:c:\xampp\mysql\data。这样做会导致错误提示 'db' 不存在。:

myisamchk -r db

我注意到我有一个 db.MAD 文件,该文件相当大,有 174,616K,所以不确定这是否是问题所在。

我运行遇到同样的问题我是这样做的:

  1. 使用记事本查找并打开 'my.ini' 文件。 (我的在 c:\xampp\mysql\bin\my.ini )
  2. 在 'my.ini' 文件中,在标签“[mysqld]”之后的新行中插入 'skip-grant-tables' 并保存。问题解决后,您将删除它。
  3. 现在mySQL您可以从控制面板启动XAMPP。
  4. 从浏览器启动 phpMyAdmin 并从数据库 select table 'db' 'mysql' (Select 'mysql' 从左侧面板然后检查 'db' 在右侧面板)。
  5. 在 'With selected' 下拉列表下方,运行 'analyze'(应该说它已损坏)。然后 select 和 运行 'repair table'.
  6. 再次找到'my.ini'文件,用记事本打开
  7. 删除 'my.ini' 文件中的 'skip-grant-tables' 并保存。
  8. 问题应该已解决,您应该可以正常启动 XAMPP,这将正常启动 MySQL。