MySQL SQLSTATE[4200]:Syntax error or access violation:1286 Unknown table engine'InnoDB'エラーの原因と解決


私の1つのウェブサイトはThinkPHPで建てて、今日ウェブサイトは掛けて、デバッグモードを開けて見て、誤った情報は以下の通りです
SQLSTATE[42000]: Syntax error or access violation: 1286 Unknown table engine 'InnoDB'

InnoDBエンジンが起きていないように見えます.検索してみると、バージョンとか言っている人もいますが、私のはそういうわけではありません.前にアクセスできたからです.
その後、私はサーバーに行ってMySQLを見て、どのストレージエンジンが利用できるかを見て、本当にInnoDBがないことに気づきました.
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)

どのようなリソース不足がこの問題を招いたのかと思って、メモリが緊張しているように見えますが、私が使っているクラウドホストメモリ1 Gを見てみると、前に/etc/my.cnfで構成された
innodb_buffer_pool_size=64M

それと関係があるかもしれないので、この文を削除しました.MySQLを再起動してよかったです.
とりあえずこの文は抜きにして、夜時間があればいっそInnoDBを使わないでください.どうせ事務には本当に要求がありません.これも、当初はストレージエンジンの選択をよく考えていなかったのではないでしょうか.