ddev import-db:索引列大小太大。最大列大小为 767 字节
ddev import-db: Index column size too large. The maximum column size is 767 bytes
当使用 ddev import-db
将 TYPO3 9 的生产数据库转储导入 ddev 项目时,我遇到了 mysql 错误:
"Index column size too large. The maximum column size is 767 bytes."
这似乎是将常规 utf8 字符集数据库导入 ddev 的结果,ddev 是为 utf8mb4 设置的,使用 4 个字节用于字符,并超出索引列大小。
有什么解决办法? (除了更改列定义、更改我的产品站点和数据库等)
这个问题最初是在 https://github.com/drud/ddev/issues/654
中讨论和解决的
现在有一种方法可以覆盖 ddev 中的默认 mysql 设置。
example MariaDB/mysql override docs 正是这个例子。
在您的项目的 .ddev/mysql 目录中,添加一个名为 utf8ci.cnf 的文件(或者任何您想要的名称,只要它以 .cnf 结尾即可)包含以下内容:
[mysqld]
collation-server = utf8_general_ci
character-set-server = utf8
innodb_large_prefix=false
当使用 ddev import-db
将 TYPO3 9 的生产数据库转储导入 ddev 项目时,我遇到了 mysql 错误:
"Index column size too large. The maximum column size is 767 bytes."
这似乎是将常规 utf8 字符集数据库导入 ddev 的结果,ddev 是为 utf8mb4 设置的,使用 4 个字节用于字符,并超出索引列大小。
有什么解决办法? (除了更改列定义、更改我的产品站点和数据库等)
这个问题最初是在 https://github.com/drud/ddev/issues/654
中讨论和解决的现在有一种方法可以覆盖 ddev 中的默认 mysql 设置。
example MariaDB/mysql override docs 正是这个例子。
在您的项目的 .ddev/mysql 目录中,添加一个名为 utf8ci.cnf 的文件(或者任何您想要的名称,只要它以 .cnf 结尾即可)包含以下内容:
[mysqld]
collation-server = utf8_general_ci
character-set-server = utf8
innodb_large_prefix=false