Symfony 3.4.4 + MariaDB 10.0.1 - SQLSTATE[42000]: синтаксическая ошибка или нарушение доступа: 1071 Указанный ключ был слишком длинным; максимальная длина ключа 767 байт
У меня новый 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
Получите это сообщение:
Чтение списков пакетов... Готово Построение дерева зависимостей
Чтение информации о состоянии... Готово - общие свойства программного обеспечения - это уже самая новая версия. Возможно, вы захотите запустить "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: Unmet зависимости. Попробуйте "apt-get -f install" без пакетов (или укажите решение).
Выполнение следующего шага:
apt-get install mariadb-server mariadb-client
Получите это сообщение:
Чтение списков пакетов... Готово Построение дерева зависимостей
Чтение информации о состоянии... Готово mariadb-сервер уже является самой новой версией. Возможно, вы захотите запустить "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: Unmet зависимости, Попробуйте "apt-get -f install" без пакетов (или укажите решение).
Любое решение?