Symfony 3.4.6 - 10.1.37-MariaDB-0+deb9u1 - 인덱스 열 크기가 너무 큼
서버에 사이트를 삽입하면 다음 오류가 발생합니다.
ERROR 1709 (HY000) at line 278: Index column size too large. The maximum column size is 767 bytes.
서버 유형:
nginx/1.11.10
Version del cliente de base de datos: libmysql - mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387$
extension PHP: mysqli Documentacion curl Documentacion mbstring Documentacion
Version de PHP: 7.1.14
데이터베이스:
Servidor: UNIX 소켓 경유 로컬 호스트
Tipo de servidor : 마리아DB
Conexion del servidor:utilizando SSL 문서 없음
Version del servidor: 10.1.37-MariaDB-0+deb9u1-Debian 9.6
Version del protocolo: 10
내 위에config.yml
(이 문서에서 https://symfony.com/doc/3.4/reference/configuration/doctrine.html)를 참조해 주세요.server_version
~하듯이10.1.37-mariadb
하지만 문제는 사라지지 않았다.
감 잡히는 게 없어요?
열 크기 문제를 해결하려면 데이터베이스 구성을 변경해야 합니다.기존 설정을 편집하거나 설정되지 않은 경우 다음에 추가합니다.
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
innodb-file-format=Barracuda
innodb-file-per-table=ON
innodb-large-prefix=1
물론 설정을 완료하려면 데이터베이스 인스턴스를 재시작해야 합니다.변경 사항을 적용하기 전에 데이터베이스를 백업하고 문제가 발생할 경우를 대비해 재시작하는 것이 좋습니다.
마지막으로 다음 중 하나의 교리 설정을 찾아야 합니다.config/packages/doctrine.yaml
또는app/config/config.yml
다음과 같이 변경합니다.
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: 'mariadb-10.1.37'
charset: utf8mb4
default_table_options:
charset: utf8mb4
collate: utf8mb4_unicode_ci
row_format: DYNAMIC
이러한 변경 후 symfony 캐시를 클리어하고 데이터베이스를 다시 만듭니다.
console doctrine:database:drop
console cache:clear
console doctrine:database:create
됐다! 이제 다 작동해야 해!
이 문제에 대해서는, 여기를 참조해 주세요.
- https://github.com/symfony/symfony-docs/issues/6398
- https://symfony.com/doc/3.4/doctrine.html#configuring-the-database
언급URL : https://stackoverflow.com/questions/55438641/symfony-3-4-6-10-1-37-mariadb-0deb9u1-index-column-size-too-large
'programing' 카테고리의 다른 글
포틀렛과 서블릿의 차이점은 무엇입니까? (0) | 2022.10.08 |
---|---|
TDD용 JavaScript 유닛 테스트 도구 (0) | 2022.10.08 |
치명적 오류: 문자열에 대해 [] 연산자가 지원되지 않습니다. (0) | 2022.10.08 |
도커 컨테이너 내부에서 MariaDB를 수행할 수 없습니다. (0) | 2022.10.08 |
'super'는 Python에서 무엇을 합니까? - super()의 차이점.__init__() 및 명시적 슈퍼클래스 __init_() (0) | 2022.10.08 |