首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL坚持尝试使用InnoDB,即使被告知不要使用,请帮助

问MySQL坚持尝试使用InnoDB,即使被告知不要使用,请帮助
EN

Database Administration用户
提问于 2012-06-25 14:50:55
回答 2查看 1.8K关注 0票数 3

我们正在试用MySQL 5.5,并已将其作为测试运行安装在我们的一个从服务器上。我们的主服务器是5.0,我们这里对InnoDB没有优化,所以我希望现在一切都是MyISAM。我已经在任何我能想到的地方禁用了InnoDB,但是复制引发的错误如下:

Error 'Unknown storage engine 'InnoDB'' on query. Default database: ''. Query: 'CREATE TEMPORARY TABLE ... SELECT ...

查询从不指定引擎为InnoDB。default-storage-engine设置为toMyISAM。innodb设置为OFF。为什么要将这个临时表创建为InnoDB?这是5.5,而不是5.6,所以我们还没有default-tmp-storage-engine变量。帮帮忙,这让我快疯了。

EN

回答 2

Database Administration用户

回答已采纳

发布于 2012-06-25 15:27:51

若要禁用InnoDB,请将其添加到MySQL 5.5上的/etc/my.cnf。奴隶:

代码语言:javascript
复制
[mysqld]
skip-innodb

在奴隶身上运行这个:

代码语言:javascript
复制
service mysql restart

根据MySQL关于创建表的文档:

您可以通过在create语句的末尾添加SELECT语句来从另一个表创建一个表: CREATE new_tbl SELECT * from orig_tbl;有关详细信息,请参阅第13.1.17.1节,“创建表.选择“语法”。使用LIKE根据另一个表的定义创建一个空表,包括在原始表中定义的任何列属性和索引: created new_tbl (类似于orig_tbl);复制是使用与原始表相同的表存储格式创建的。在原始表上需要SELECT特权。

必须在创建时指定引擎。

代码语言:javascript
复制
CREATE TEMPORARY TABLE ... ENGINE=MyISAM SELECT ...

来解决这个问题

票数 3
EN

Database Administration用户

发布于 2012-06-25 16:28:24

InnoDB是MySQL5.5.5中的默认存储引擎。,您需要使用以下方法在my.cnf中指定其他内容:

代码语言:javascript
复制
default-storage-engine = MYISAM

--编辑不准确的内容--

票数 -1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/19862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档