source

도커 컴포지트를 사용한 Mariadb 이미지의 SQL 모드 변경

factcode 2022. 9. 30. 11:02
반응형

도커 컴포지트를 사용한 Mariadb 이미지의 SQL 모드 변경

나는 마리아답의 공식 도커라이즈 이미지에 문제가 있다.

응용 프로그램이 몇 가지 쿼리를 생성하려고 하면 다음 오류가 나타납니다.

DB 오류: 알 수 없는 오류 쿼리: 삽입 위치

이 에러는 SQL_MODE에서 발생한 것으로 생각됩니다.이 이미지는 다음과 같이 설정되어 있습니다.

STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,
NO_ENGINE_SUBSTITUTION

일반 Linux Server가 설치되어 있고 mariadb가 설치되어 있지만 이 STRICT_TRANS_TAB은 없습니다.SQL_mode의 LES 값.그리고 제 어플리케이션은 문제없이 작동하고 있습니다.

STICT_TRANS_TAB를 삭제하려면 어떻게 해야 하나요?커스텀 도커 파일 없이 도커 컴포지트 파일과 도커 컴포지트 파일을 실행하면 컨테이너에 LES 값이 저장됩니까?

고객님의 고객명docker-compose.ymlset 명령어:--sql_mode="".
다음은 예를 제시하겠습니다.

db-service:
    build:
      context: .
      dockerfile: db.dockerfile
    image: example/repo:db
    ports:
      - "3306:3306"
    volumes:
      - ./data/db-data:/var/lib/mysql
      - ./data/db-init:/docker-entrypoint-initdb.d/
    ports:
      - "3306:3306"
    environment:
        MYSQL_USER: root
        MYSQL_ROOT_PASSWORD: root
        MYSQL_DATABASE: your_database
    command: mysqld --sql_mode="" --character-set-server=utf8 --collation-server=utf8_slovenian_ci --init-connect='SET NAMES UTF8;' --innodb-flush-log-at-trx-commit=0
    restart: on-failure
    networks:
      - yournet

난 괜찮아.

언급URL : https://stackoverflow.com/questions/48924667/changing-sql-mode-on-mariadb-image-with-docker-compose

반응형