programing

Symfony 3.4.6 - 10.1.37-MariaDB-0+deb9u1 - 인덱스 열 크기가 너무 큼

luckcodes 2022. 10. 8. 10:01

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

됐다! 이제 다 작동해야 해!

이 문제에 대해서는, 여기를 참조해 주세요.

언급URL : https://stackoverflow.com/questions/55438641/symfony-3-4-6-10-1-37-mariadb-0deb9u1-index-column-size-too-large