TIL)23.08.31(Docker_MYSQL_USER="root", MYSQL_USER and MYSQL_PASSWORD are for configuring a regular user and cannot be used for the root user)

주민·2023년 8월 31일
0

TIL

목록 보기
76/84

문제

도커에서 MySQL 컨테이너를 만드는데 계속 실행이 되지 않는 상태(Exited)로 만들어 진다.

  • 입력한 명령

docker run --name mysql000ex11 -dit --net=wordpress000net1 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=wordpress000db -e MYSQL_USER=root -e MYSQL_PASSWORD=wkunpass mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password
e8c608c3f61e886454eb1ab3f5f78ed2a16f664600891a34d74a10847b6ddb47

시도& 해결

오류 내용을 띄워주지 않아 log를 따로 확인해봐야 한다.
아래 코드를 통해 내용을 확인 할 수 있다.

docker logs [container]

2023-08-31 08:40:51+00:00 [Note][Entrypoint]: Entrypoint script for MySQL Server 8.1.0-1.el8 started.
2023-08-31 08:40:51+00:00 [Note][Entrypoint]: Switching to dedicated user 'mysql'
2023-08-31 08:40:51+00:00 [Note][Entrypoint]: Entrypoint script for MySQL Server 8.1.0-1.el8 started.
2023-08-31 08:40:51+00:00 [ERROR][Entrypoint]: MYSQL_USER="root", MYSQL_USER and MYSQL_PASSWORD are for configuring a regular user and cannot be used for the root user
Remove MYSQL_USER="root" and use one of the following to control the root user password:
- MYSQL_ROOT_PASSWORD
- MYSQL_ALLOW_EMPTY_PASSWORD
- MYSQL_RANDOM_ROOT_PASSWORD

위 내용으로 검색해보니 MYSQL_USER 을 root로 입력해서 만들자 마자 다운된 상황이라고 한다.

MYSQL_USER을 바꾸니 up 상태로 잘 만들어졌다.

알게된 점

루트(root)는 모든 권한을 가진 사용자이고
루트 사용자로 접속할 경우 보안 측면에서 문제가 생기기 때문에 제한된 권한을 가진 일반 사용자로 전환 하는 것이 일반적이다.

MYSQL_ROOT_PASSWORD : 루트 계정 password
MYSQL_USER : 일반 계정 사용자 이름
(* 일반 계정이기 때문에 root으로 설정 불가)
MYSQL_PASSWORD : 계정 password

0개의 댓글