首页 > 解决方案 > Neos 4.0.x 安装失败

问题描述

在安装 neos 时会抛出此异常:

执行“CREATE TABLE flow3_resource_resourcepointer (hash VARCHAR(255) NOT NULL, PRIMARY KEY(hash)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB”时发生异常:
SQLSTATE[42000]:语法错误或访问冲突:1071 指定的键太长;最大密钥长度为 767 字节

异常详细信息已记录到 Flow 系统日志中。
/Users/julius/Documents/dev/neos/Packages/Libraries/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php 的第 184 行出现异常:执行'CREATE TABLE flow3_resource_resourcepointer (hash VARCHAR(255) NOT NULL,主键(哈希))默认字符集 utf8mb4 整理 utf8mb4_unicode_ci ENGINE = InnoDB':

SQLSTATE[42000]:语法错误或访问冲突:1071 指定的键太长;最大密钥长度为 767 字节 - 另请参阅:201805011913565a6e91.txt

异常代码 1355480641
异常类型 Neos\Flow\Core\Booting\Exception\SubProcessException
日志参考 20180501191355663ebf
扔在文件 Packages/Framework/Neos.Flow/Classes/Core/Booting/Scripts.php
677 号线

标签: neoscms

解决方案


在 Neos 4.0 中,默认字符集和排序规则已更改为 utf8mb4,这需要更长的键,因此至少需要MySQL 5.7.x 或 MariaDB 10.2.x。我假设您尝试在较旧的数据库版本上安装 Neos 4.0。


推荐阅读