mysql - 如何在不重启数据库服务器的情况下解决MySQL的.MYI文件损坏问题?

标签 mysql myisam corrupt

我的一个 MYSQL 数据库表已损坏。而当我进行查表、优化表操作时,出现如下错误信息:

  • 在第 3512320 页输入错误的位置
  • 无法从 filepos 读取 key block :6256640
  • 表的 key 文件不正确
  • 索引 PRIMARY 和 ATYPE_NAME_IDX 似乎相等并且是其中之一 他们可能会被删除
  • 操作失败

我尝试了以下任务来解决这个问题:

  1. 我使用修复选项,它工作正常。
  2. 我在修复后再次检查表或优化表操作 出现相同的错误消息。
  3. 导出数据转储并导入新数据库,之后 有时特定表会出现相同的错误。

我发现 .MYI 已经损坏。

由于我的网站在共享服务器下运行,我无法停止或启动服务器。

是否可以在不停止和启动数据库服务器的情况下解决这个问题?

最佳答案

备份 .MYI 文件并重新创建它。

# recover missing *.MYI file
mysqlcheck --user=USER --password=PWD --repair --use-frm DATABASE TABLE

可以在不重新启动的情况下执行此操作。

关于mysql - 如何在不重启数据库服务器的情况下解决MySQL的.MYI文件损坏问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18008415/

相关文章:

mysql - 当我们构建集群存储时,MyISAM 引擎是否比 InnoDB 更可取?为什么会这样?

c++ - 尝试设置一个数组以将最后三笔存款存储到银行账户系统中

mysql - 从 rails 迁移创建 mysql 函数

mysql - HTML 编码未声明

mysql - 使用 Node.js 和 mysql 进行工作

java - WHERE 阿拉伯语条件下的 SQL 查询

mysql - MySQL中的短,单字段索引或大量覆盖索引

mysql - 更改默认存储引擎 Amazon RDS MariaDB

Wordpress 中的 PHPSpreadsheet 使用纯文本 PHP 生成损坏的文件

vba - 使用 vba name 语句将 xls 转换为 xlsx 会损坏文件