Mysql
第 X 行的錯誤 1031 (HY000):“TBL”的表儲存引擎沒有此選項
我正在嘗試導入
mysqldump
以下系統:# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) # rpm -qa | grep ^mysql mysql-community-libs-compat-5.7.11-1.el7.x86_64 mysql-community-libs-5.7.11-1.el7.x86_64 mysql57-community-release-el7-7.noarch mysql-community-client-5.7.11-1.el7.x86_64 mysqltuner-1.6.0-1.el7.noarch mysql-community-server-5.7.11-1.el7.x86_64 mysql-community-common-5.7.11-1.el7.x86_64 #
然而,我收到以下錯誤:
# mysql X < ~/X.mysqldump ERROR 1031 (HY000) at line 13639: Table storage engine for 'Y' doesn't have this option #
Y
表格來自mysqldump
:(我用 s 替換了敏感資訊)Z
:DROP TABLE IF EXISTS `Y`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `Y` ( `Z` int(10) NOT NULL AUTO_INCREMENT, `Z` int(10) NOT NULL DEFAULT '0', `Z` int(10) NOT NULL DEFAULT '0', `Z` tinyint(1) NOT NULL DEFAULT '0', `Z` tinyint(1) NOT NULL DEFAULT '1', `Z` int(10) NOT NULL DEFAULT '0', `Z` datetime DEFAULT NULL, `Z` datetime DEFAULT NULL, PRIMARY KEY (`Z`), KEY `Z` (`Z`), KEY `Z` (`Z`), KEY `Z` (`Z`), KEY `Z` (`Z`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED COMMENT='InnoDB free: 8192 kB; (`Z`) REFER `Z/'; /*!40101 SET character_set_client = @saved_cs_client */;
/etc/my.cnf
是所有預設值,但我確實添加了以下行:# tail -1 /etc/my.cnf innodb_buffer_pool_size = 64G #
另外,這裡是完整的mysql> SHOW VARIABLES LIKE ‘innodb%’; 堆。
我正在閱讀MySQL :: MySQL 5.7 Reference Manual :: 14.4 InnoDB Configuration,但顯然我遺漏了一些東西……
請指教。
謝謝!
在 MySQL 5.7 下,
ROW_FORMAT=FIXED
不再是 InnoDB 儲存引擎的選項。根據innodb_default_row_format的 MySQL 5.7 文件,這些值可用於表的行格式:
DYNAMIC
,COMPACT
, 和REDUNDANT
允許作為預設值COMPRESSED
不允許使用預設值,但您可以顯式使用ROW_FORMAT=COMPRESSED
MySQL 5.7 Docs中沒有提到
ROW_FORMAT=FIXED
InnoDB。我寫了一篇關於 8 個月的文章的答案,標題為空列值是否與填充列值佔用相同的儲存空間?
COMPACT
這解釋了和之間的區別REDUNDANT
。您應該會在轉儲定義中找到更改為其中之一ROW_FORMAT=COMPACT
或中的內容。ROW_FORMAT=REDUNDANT
如果您希望VARCHAR
列的行為與仍然存在的特徵相同ROW_FORMAT=FIXED
,只需將所有VARCHAR
列更改為CHAR
. 然後,載入轉儲。請記住,這
ROW_FORMAT=FIXED
確實有利於 MyISAM(參見我的舊文章Which DBMS is good for super-fast reads and a simple data structure?)