博客搬家:由于各种原因,我现在的博客将首发于blog.mojijs.com, 可以百度搜索 “姜哥的墨迹技术博客” , 或者 点击这里 本文首发地址 http://blog.mojijs.com/post/146.html
我的一个网站用ThinkPHP搭建的,今天网站挂了,打开调试模式看了一下,错误信息如下
1
|
SQLSTATE[42000]: Syntax error
or
access violation: 1286 Unknown
table
engine
'InnoDB'
|
看起来是InnoDB引擎没起来。搜索了一下,有一些人说是版本啊什么的,我的都不是这些原因,因为之前是能访问的嘛。
之后我就去服务器看了一下MySQL,看看都哪些存储引擎可用,发现果真没有InnoDB。
1
2
3
4
5
6
7
8
9
10
|
mysql> show engines;
+
------------+---------+-----------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+
------------+---------+-----------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM | YES | Collection
of
identical MyISAM tables |
NO
|
NO
|
NO
|
| CSV | YES | CSV storage engine |
NO
|
NO
|
NO
|
| MyISAM |
DEFAULT
|
Default
engine
as
of
MySQL 3.23
with
great performance |
NO
|
NO
|
NO
|
| MEMORY | YES | Hash based, stored
in
memory, useful
for
temporary
tables |
NO
|
NO
|
NO
|
+
------------+---------+-----------------------------------------------------------+--------------+------+------------+
4
rows
in
set
(0.00 sec)
|
我是想是不是哪些资源不足导致了这个问题呢,查看了一下内存看起来紧张了一些,我用的云主机内存1G,之后就想到了我之前在/etc/my.cnf中配置的
1
|
innodb_buffer_pool_size=64M
|
可能和它有关,所以去掉了这句。重启MySQL果真好了。
暂时先去掉这句吧,等晚上有时间干脆不用InnoDB了,反正对事务真的没有要求。这也算当初对存储引擎的选择没有仔细考量吧。
更多内容 http://blog.mojijs.com/post/146.html