neoscms - 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 号线
解决方案
在 Neos 4.0 中,默认字符集和排序规则已更改为 utf8mb4,这需要更长的键,因此至少需要MySQL 5.7.x 或 MariaDB 10.2.x。我假设您尝试在较旧的数据库版本上安装 Neos 4.0。
推荐阅读
- mysql - where 子句中的 INNER JOIN 表列“ID”不明确
- java - 如果语句抛出异常(初始化问题),try with resource语句中的单个资源是否不会关闭
- windows - "IF" 后的链式命令条件使用 &
- c++ - 使用 2 个键的 cpp stl::priority 队列未正确排序
- c++ - 使用 mongocxx-driver 时包含头文件问题
- python - 错误..将日期转换为相应的天数
- java - 访问 CompletableFuture 链中的前一个输入参数
- stata - 跨变量发生的变化次数
- vb.net - 在datagridview vb.net中更改列的数据类型
- java - 为什么 Kubernetes 需要更新 cacerts