Mysql

第 X 行的錯誤 1031 (HY000):“TBL”的表儲存引擎沒有此選項

  • April 16, 2018

我正在嘗試導入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=FIXEDInnoDB。

我寫了一篇關於 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?

引用自:https://dba.stackexchange.com/questions/133026