【问题标题】:Error: MySQL shutdown unexpectedly. XAMPP, how to repair a corrupt table错误:MySQL 意外关闭。 XAMPP,如何修复损坏的表
【发布时间】:2020-04-24 12:16:50
【问题描述】:

我已经研究这个问题两天了,所有的问题和答案都没有解决我的问题。

找到了!多次运行后在mysql_error.log中:

2020-01-06 16:34:11 0 [错误] mysqld.exe:表 '.\mysql\user' 是 标记为崩溃和最后一次(自动?)修复失败

2020-01-06 16:34:11 0 [错误] 致命错误:无法打开和锁定权限表: 表 '.\mysql\user' 被标记为崩溃和最后一个(自动?) 修复失败

所以现在我在多次尝试启动 MySQL 并查看日志后看到问题,这次我终于看到“用户”表已损坏。

谁能建议如何修复这个问题?

【问题讨论】:

  • 你的数据库有备份吗?
  • 是的,我可以复制它并覆盖坏文件吗?文件是 ibdata1 吗?它在 c:\xampp\mysql\data
  • 不知道能不能把数据库替换成文件。你有 SQL 的备份吗?如果表无法修复,您可以从备份中drop table 然后create table
  • @jack.sparrow 你能建议这样做的过程吗?不知道如何执行此操作。

标签: mysql xampp


【解决方案1】:

首先,从 XAMPP 控制面板,打开“Config” [mysql] 并添加 [mysqld] = innodb_force_recovery = 1 下的以下行

然后执行以下操作:

从控制面板打开shell并使用以下命令启动mysql:

mysqld –-console –-skip-grant-tables –-skip-external-locking
Open another shell from control panel and repair database with this command:
mysqlcheck -r --databases mysql --use-frm
Stop mysql, close shells and restart mysql normally.

如果它不起作用,则更改 innodb_force_recovery = 2 并重复该过程,如果不起作用,则再次更改为 3,等等...最多 4 个

你会发现这个answer很有用

【讨论】:

  • 在损坏表所在的目录中运行第一行后,它运行并在运行结束时显示: [ERROR] mysqld: Table '.\mysql\user' ismarked as crashed and上次(自动?)修复失败 - 我应该在 \mysql 目录中运行它吗?
  • 嗨@JRse,确保通过执行命令-service mysql stop 停止MySQL 守护程序/服务。然后运行 ​​-myisamchk -r table_name。您可以点击链接 [link] (stellarinfo.com/blog/…)。
  • 当我运行 myisamchk -r user 时它给了我一个错误.....说文件'用户'不存在??我从 dir xampp\mysql 运行它。我的数据库是 InnoDB 这可能是为什么?
  • 我访问了站点 [您提供的链接] 并尝试运行一些命令,它告诉我我没有使用 *.MYI 的权限?我在命令提示符下,知道如何获得许可吗?
  • 好的,我尝试运行另一个程序和 phpmyadmin 并得到以下错误:无法访问此站点 localhost 拒绝连接。在 Google 上搜索 localhost phpmyadmin ERR_CONNECTION_REFUSED。
猜你喜欢
  • 2019-09-03
  • 2021-01-04
  • 2017-10-01
  • 2018-03-29
  • 2013-02-16
  • 2019-01-25
  • 2018-04-24
  • 1970-01-01
  • 2017-05-01
相关资源
最近更新 更多