Mysql
MySQL 堅持嘗試使用 InnoDB,即使被告知不要,請幫助
我們正在試用 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
設置為 MyISAM。innodb
設置為關閉。為什麼要嘗試將此臨時表創建為 InnoDB?這是 5.5,而不是 5.6,所以我們還沒有default-tmp-storage-engine
變數。請幫忙,這讓我發瘋了。
要禁用 InnoDB,請將其添加到 MySQL 5.5 上的 /etc/my.cnf。奴隸:
[mysqld] skip-innodb
並在從站上執行:
service mysql restart
根據CREATE TABLE上的 MySQL 文件:
您可以通過在 CREATE TABLE 語句的末尾添加 SELECT 語句來從另一個表創建一個表:
創建表 new_tbl 選擇 * FROM orig_tbl; 有關更多資訊,請參閱第 13.1.17.1 節,“CREATE TABLE … SELECT 語法”。
使用 LIKE 根據另一個表的定義創建一個空表,包括在原始表中定義的任何列屬性和索引:
創建表 new_tbl LIKE orig_tbl;
使用與原始表相同版本的表儲存格式創建副本。原始表需要 SELECT 權限。
您必須在創建時指定 ENGINE
CREATE TEMPORARY TABLE ... ENGINE=MyISAM SELECT ...
解決這個問題