我正在尝试导入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?)编辑 /etc/my.cnf 文件。
在下面添加参数:
现在,重新启动服务器