Moodle数据库转储无法还原

时间:2018-12-10 19:42:12

标签: mariadb moodle collation

当我遇到此错误时,我正尝试从Moodle数据库还原MariaDB转储:

ERROR 1071 (42000) at line 10540: Specified key was too long; max key length is 767 bytes

经过一番研究,我对utf8mb4_unicode_ci模式的排序规则有所怀疑。

当我将大小从255更改为170时,可以解决此错误。但是,有时大小为255并不重要,因为它会创建它们。

现在

1-如果还原文件不起作用,为什么转储文件为我提供此配置?

2-如果不允许varchar大小,这如何工作?

3-除了将范围从255更改为170之外,还有其他更简单的方法可以实现此功能吗?

1 个答案:

答案 0 :(得分:0)

正如@Rick James在编辑中所说,解决方案是下一步:

   SET GLOBAL innodb_file_format=Barracuda;
   SET GLOBAL innodb_file_per_table=1;
   SET GLOBAL innodb_large_prefix=1;
   logout & login (to get the global values);
   ALTER TABLE tbl ROW_FORMAT=DYNAMIC;  -- (or COMPRESSED)

在这种情况下,已采取步骤以重新配置新服务器的数据库引擎。