我在 CentOS 6.5 下运行 MySQL 5.1 服务器。今天在导入 SQL 文件期间,所有表都是在 MyISAM 下创建的,即使它们被声明为使用 InnoDB 引擎。
例如,我在 .sql 文件中声明了一个表,如下所示:
CREATE TABLE `customer` (
`customer_id` int(11) NOT NULL AUTO_INCREMENT,
`customer_no` varchar(20) DEFAULT NULL,
`company_name` varchar(50) DEFAULT NULL,
[....]
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
当使用以下命令导入 .sql 文件时:
mysql -u <username> -p < new_db.sql
客户表是使用 MyISAM 表创建的。这怎么可能?
为了解决我在 MySQL 配置中添加的问题,将默认引擎设置为 InnoDB 并重新启动,但是,由于表引擎被声明为 InnoDB,不应该使用声明的引擎而不是默认引擎来加载它吗?