programing

Docker mysql ERROR 1396 (HY000):'root'@'%'에 대한 CREATE USER 작업 실패

closeapi 2023. 9. 13. 22:37
반응형

Docker mysql ERROR 1396 (HY000):'root'@'%'에 대한 CREATE USER 작업 실패

하나는 파이썬을 실행하고 다른 하나는 mysql을 실행하는 두 개의 컨테이너를 설정하려고 합니다.이것은 나의docker-compose.yml파일:

version: '3'
services:
    python:
        restart: always
        build: ./budget/dockerfiles/python/
        ports:
            - "5000:5000"
        links:
            - db
        depends_on:
            - db
        volumes:
            - ./budget/:/app:z
        entrypoint:
            - python
            - -u
            - /app/run.py

    db:
        build: ./budget/dockerfiles/mysql/
        environment:
            MYSQL_ROOT_PASSWORD: password
            MYSQL_DATABASE: database-name
            MYSQL_USER: root
            MYSQL_PASSWORD: password
        volumes:
            - ./Dump.sql:/db/Dump.sql:z
            - ./Dump_Test.sql:/db/Dump_Test.sql:z
            - ./big_fc.sql:/db/big_fc.sql:z
        ports:
            - "3306:3306"

하지만 달리다 보면docker-compose up -d --build, 컨테이너가 구축되어 있지만 mysql 컨테이너가 충돌합니다.로그에는 다음과 같이 적혀 있습니다.

ERROR 1396 (HY000): Operation CREATE USER failed for 'root'@'%' 

게시물이 암시하는 을 시도해보고 싶었지만, 충돌이 일어나 컨테이너에 들어가지도 못합니다.누가 제가 뭘 할 수 있는지 말해줄 수 있나요?

이 github 이슈에 따르면 문제는 setting 입니다.MYSQL_USER로.root. 두번째 사용자를 만들지 못합니다.'root'@'%'사용자 테이블에 이미 존재하기 때문입니다.

따라서 이는 설정만으로 해결할 수 있습니다.MYSQL_ROOT_PASSWORD,MYSQL_DATABASE,그리고.MYSQL_PASSWORD에서docker-compose.yml파일.

언급URL : https://stackoverflow.com/questions/45086162/docker-mysql-error-1396-hy000-operation-create-user-failed-for-root

반응형