【问题标题】:Can't change storage engine to myisam, unknown storage engine 'InnoDB'无法将存储引擎更改为 myisam,未知存储引擎“InnoDB”
【发布时间】:2012-08-18 02:14:57
【问题描述】:

我正在尝试使用mysqldump 转储数据库,但出现错误:

mysqldump:无法执行“show create table wp_commentmeta”:未知存储引擎“InnoDB”(1286)

不用担心;我将进入 MySQL 并更改表的存储引擎:

mysql> show create table wp_commentmeta;
ERROR 1286 (42000): Unknown storage engine 'InnoDB'
mysql> Alter table wp_commentmeta ENGINE = myisam;
ERROR 1286 (42000): Unknown storage engine 'InnoDB'

做错了什么? (和/或)我该如何解决?

【问题讨论】:

  • 什么 MySQL 版本? show engines; 在 mysql 中输出什么?您是否尝试通过在命令中添加--innodb 的命令行启动服务器?
  • 8 行。我看到了 MyISAM 的东西,但没有看到 InnoDB。 InnoDB 在这个盒子上相当混乱(因此试图将表转换为 myIsam)
  • 其实如果是wordpress的话,结构是不需要的。您是否尝试使用 mysqldump --no-create-info 选项进行仅数据转储
  • 找到启用 InnoDB 的方法可能是个好主意。某些 MySQL 版本默认不包含它,但通常有一种方法可以将其添加为插件,或重新安装完整版本。 MyISAM 发音为“crazypants”,因为它没有日志记录,并且如果您的服务器崩溃并丢失所有数据,它可能会被完全打乱。我真的希望你有一个非常积极的备份计划。
  • 作为第一步,安排mysqldump 偶尔运行一次并不难。这是负责任的事情。

标签: mysql innodb myisam


【解决方案1】:

有很多方法可以恢复 InnnoDB 表。

如果你达到了这些目标,试试这个页面。

  1. 您已备份 ibdata1、ib_logfile0 和 ib_logfile1
  2. 您还使用 .frm 文件备份了数据库文件夹
  3. 您希望将此备份恢复到已投入生产的 MySQL 服务器。

http://egil.biz/how-to-recover-mysql-data-from-innodb/

如果这不能解决您的问题,请尝试其他 InnoDB 恢复演练: http://www.mysqlperformanceblog.com/2008/07/04/recovering-innodb-table-corruption/

【讨论】:

  • 如果实际的 MySQL 安装出现问题,请备份您的数据文件(如上所列)并在全新的 MySQL 安装上尝试。
猜你喜欢
  • 1970-01-01
  • 2011-11-19
  • 2016-12-23
  • 1970-01-01
  • 1970-01-01
  • 2014-02-26
  • 2016-01-11
  • 2017-05-28
  • 2012-05-04
相关资源
最近更新 更多