Symfony 3.4.4 + MariaDB 10.0.1 - SQLSTATE [42000]:语法错误或访问冲突:1071指定密钥太长;最大密钥长度为767字节

时间:2018-04-17 21:47:15

标签: debian mariadb symfony-3.4

我有一个新的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 个答案:

答案 0 :(得分:1)

有5种解决方案here;选择你喜欢的那个。