MySQL集群 – 导入架构失败,错误1031

我从我们的开发服务器导入一个模式到一个新的MySQL集群实例。 当我尝试创build下面的表时,处理错误与:

"Error Code: 1031. Table storage engine for 'xx_users' doesn't have this option". 

表格定义如下:

 DROP TABLE IF EXISTS `xx_users`; CREATE TABLE `xx_users` ( `uid` int(10) unsigned NOT NULL AUTO_INCREMENT, `pid` int(10) unsigned NOT NULL DEFAULT '0', `tstamp` int(10) unsigned NOT NULL DEFAULT '0', `username` varchar(50) NOT NULL DEFAULT '', `description` varchar(2000) NOT NULL DEFAULT '', `avatar` int(10) unsigned NOT NULL DEFAULT '0', `password` varchar(100) NOT NULL DEFAULT '', `admin` smallint(5) unsigned NOT NULL DEFAULT '0', `usergroup` varchar(255) NOT NULL DEFAULT '', `disable` smallint(5) unsigned NOT NULL DEFAULT '0', `starttime` int(10) unsigned NOT NULL DEFAULT '0', `endtime` int(10) unsigned NOT NULL DEFAULT '0', `lang` varchar(6) NOT NULL DEFAULT '', `email` varchar(80) NOT NULL DEFAULT '', `db_mountpoints` text, `options` smallint(5) unsigned NOT NULL DEFAULT '0', `crdate` int(10) unsigned NOT NULL DEFAULT '0', `cruser_id` int(10) unsigned NOT NULL DEFAULT '0', `realName` varchar(80) NOT NULL DEFAULT '', `userMods` text, `allowed_languages` varchar(255) NOT NULL DEFAULT '', `uc` mediumblob, `file_mountpoints` text, `file_permissions` text, `workspace_perms` smallint(6) NOT NULL DEFAULT '1', `lockToDomain` varchar(50) NOT NULL DEFAULT '', `disableIPlock` smallint(5) unsigned NOT NULL DEFAULT '0', `deleted` smallint(5) unsigned NOT NULL DEFAULT '0', `TSconfig` text, `lastlogin` int(10) unsigned NOT NULL DEFAULT '0', `createdByAction` int(11) NOT NULL DEFAULT '0', `usergroup_cached_list` text, `workspace_id` int(11) NOT NULL DEFAULT '0', `workspace_preview` smallint(6) NOT NULL DEFAULT '1', `category_perms` text, `tx_news_categorymounts` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`uid`), KEY `parent` (`pid`), KEY `username` (`username`) ) AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; 

我可以执行这个代码,并且在我的实验室服务器(这是一个使用InnoDB作为存储引擎的单个MySQL实例)上运行得很好。 但是在使用NDB作为存储引擎的Clustered实例上,它会因上面的错误而失败。 我没有find太多的问题来查明问题所在。

我经历了所有列的注释,并逐一查看,看看哪一个导致服务器呕吐,我发现是任何文本列声明后启用:

 `file_permissions` text, 

导致问题。 这意味着如果我注释掉列TSconfig,usergroup_cached_list和category_perms,其余的SQL语句完成没有问题。 如果我启用这三个中的任何一个,则会失败,出现上述错误。 我似乎无法find原因。 这是一个新的MySQL集群实例,没有默认数据库以外的数据库。