加载具有不同表类型的 MySQL 转储

加载具有不同表类型的 MySQL 转储

假设我有一个 SQL 转储,如何将其加载到全新的 mySQL 安装中……数据库

答案1

mysql <database name> -u root -p < file.sql

然后只需将要更改的表更改为 innodb

> alter table <foo> set engine=innodb;

答案2

为了扩展 rodjek 的回答,您无法决定在命令行上使用什么引擎;您的 SQL 转储必须已经引擎类型设置正确。但是,您可以编辑现有的转储文件,并更改 的任何实例ENGINE=MyISAM(或者,实际上,任何ENGINE未指定 的语句InnoDB)并将其更改为ENGINE=InnoDB

答案3

我认为您必须编辑 .sql 文件。每个 CREATE TABLE 节的末尾都有一个 ENGINE 定义。现在,我猜这表示 ENGINE=MyISAM。将每个表的此项更改为 InnoDB,保存文件,然后导入。

CREATE TABLE `foo` (
) ENGINE=InnoDB

相关内容