Symfony 3.4.4 + MariaDB 10.0.1 - SQLSTATE [42000]:语法错误或访问冲突:1071 指定的密钥太长;最大密钥长度为 767 字节
Posted
技术标签:
【中文标题】Symfony 3.4.4 + MariaDB 10.0.1 - SQLSTATE [42000]:语法错误或访问冲突:1071 指定的密钥太长;最大密钥长度为 767 字节【英文标题】:Symfony 3.4.4 + MariaDB 10.0.1 - SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes 【发布时间】:2018-09-28 00:06:02 【问题描述】:我有一个新的 VPS 服务器 (Debian),安装了基本的东西
我已经在本地环境中安装了一个 symfony 项目,它运行良好。
执行数据库创建命令时:
bin/console doctrine:schema:update --force
"
我收到以下错误:
In AbstractmysqlDriver.php line 115:
An exception occurred while executing 'CREATE TABLE salepoint (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, slug VARCHAR(256) NOT NULL, UNIQUE INDEX UNIQ_56CEF7DA989D9B62 (slug), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB':
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
In PDOConnection.php line 106:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
In PDOConnection.php line 104:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
正如您在此链接https://jira.mariadb.org/browse/MDEV-14904 中看到的,这似乎是 MariaDB 10.0 的错误
我尝试使用以下文档将其更新到 10.1 版: https://websiteforstudents.com/install-upgrade-to-mariadb-10-1-10-2-10-3-latest-on-ubuntu-16-04-lts-server/
执行:
sudo apt-get install software-properties-common
收到此消息:
正在阅读包裹清单...完成 构建依赖树 读取状态信息...完成 software-properties-common 已经是最新版本。 您可能需要运行 'apt-get -f install' 来纠正这些问题: 以下包具有未满足的依赖项: mariadb-server : 取决于: mariadb-server-10.1 (= 10.1.32+maria-1~jessie) 但它不会被安装 mariadb-server-10.0 :取决于:mariadb-client-10.0 (>= 10.0.32-0+deb8u1) 但不会安装 取决于:mariadb-server-core-10.0 (>= 10.0.32-0+deb8u1) 但不会安装 E:未满足的依赖关系。尝试不使用任何软件包的“apt-get -f install”(或指定解决方案)。
执行下一步:
apt-get install mariadb-server mariadb-client
收到此消息:
正在阅读包裹清单...完成 构建依赖树 读取状态信息...完成 mariadb-server 已经是最新版本。 您可能需要运行 'apt-get -f install' 来纠正这些问题: 以下包具有未满足的依赖项: mariadb-client : 取决于: mariadb-client-10.1 (= 10.1.32+maria-1~jessie) 但它不会被安装 mariadb-server : 取决于: mariadb-server-10.1 (= 10.1.32+maria-1~jessie) 但它不会被安装 mariadb-server-10.0 :取决于:mariadb-client-10.0 (>= 10.0.32-0+deb8u1) 但不会安装 取决于:mariadb-server-core-10.0 (>= 10.0.32-0+deb8u1) 但不会安装 E:未满足的依赖关系。尝试不使用任何软件包的“apt-get -f install”(或指定解决方案)。
有什么办法吗?
【问题讨论】:
【参考方案1】:5 个解决方案可用here ;选择你喜欢的。
【讨论】:
以上是关于Symfony 3.4.4 + MariaDB 10.0.1 - SQLSTATE [42000]:语法错误或访问冲突:1071 指定的密钥太长;最大密钥长度为 767 字节的主要内容,如果未能解决你的问题,请参考以下文章
在 Heroku 上部署 Symfony5/php7 应用程序时找不到模板“base.html.twig”错误消息