도커 컨테이너 mysql-server에서 설정하지 않을 때 기본 암호는 무엇입니까?
mysql 컨테이너를 실행하고 mysql 클라이언트와 연결하려고 합니다.
다음 명령을 사용했습니다.
docker run --name=mysql -d mysql/mysql-server:latest
docker exec -it mysql mysql -uroot -p
자습서에 따르면 마지막 명령을 사용하면 데이터베이스 암호를 구성할 수 있지만 첫 번째 암호를 도입하면 실패합니다.
첫번째 암호는 root 이었고 특이한 오류가 발생했습니다. 그런 다음 admin으로 시도하고 Linux 사용자 암호까지 관리하려고 하지만 작동하지 않습니다...
무엇이 잘못되었는지 알고 싶습니다.
암호를 확인하는 몇 가지 방법이 있습니다.First Approach - 데몬 모드에서 컨테이너 실행 안 함
아래 명령을 확인합니다.
docker run --name=mysql mysql/mysql-server:latest
그리고 이것은 아래의 로그를 보는 것처럼 단말기에 비밀번호를 인쇄할 것입니다.
2020-05-28T23:41:01.418347Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock'
2020-05-28T23:41:01.666070Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2020-05-28T23:41:01.714420Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.20' socket: '/var/lib/mysql/mysql.sock' port: 0 MySQL Community
Server - GPL.
Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
[Entrypoint] GENERATED ROOT PASSWORD: PopiKQIjAS#OGj3x]yJOBLEn80p
[Entrypoint] ignoring /docker-entrypoint-initdb.d/*
2020-05-28T23:41:06.208480Z 10 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.0.20).
2020-05-28T23:41:07.861667Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.20) MySQL Community Server - GPL.
[Entrypoint] Server shut down
[Entrypoint] Setting root user as expired. Password will need to be changed before database can be used.
[Entrypoint] MySQL init process done. Ready for start up.
[Entrypoint] Starting MySQL 8.0.20-1.1.16
2020-05-28T23:41:08.534785Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.20) starting as process 1
2020-05-28T23:41:08.549216Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-05-28T23:41:09.135591Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2020-05-28T23:41:09.369412Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock' bind-address: '::' port: 33060
2020-05-28T23:41:09.448584Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2020-05-28T23:41:09.500464Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.20' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Communi
ty Server - GPL.
Second Approach - 컨테이너를 데몬 모드로 실행하고 로그에서 암호를 가져옵니다. 컨테이너를 실행하려면 아래 명령을 확인하십시오.
docker run -d --name=mysql mysql/mysql-server:latest
다음 명령을 실행하여 암호를 가져옵니다.
docker logs mysql 2>&1 | grep GENERATED
위 명령의 출력은 다음과 같습니다.
[Entrypoint] GENERATED ROOT PASSWORD: PopiKQIjAS#OGj3x]yJOBLEn80p
위에 언급한 방법 중 하나로 비밀번호를 입력하면 해당 비밀번호를 사용하여 아래 명령으로 로그인할 수 있습니다.
docker exec -it mysql mysql -uroot -p
메시지가 나타나면 생성된 루트 암호를 입력합니다(위의 찾기 방법 참조).왜냐하면.MYSQL_ONETIME_PASSWORD
옵션은 기본적으로 true이며, mysql 클라이언트를 서버에 연결한 후 다음 문장을 실행하여 서버 루트 암호를 재설정해야 합니다.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
대체물password
당신이 선택한 비밀번호로 말입니다.비밀번호가 재설정되면 서버를 사용할 준비가 됩니다.
참조: https://hub.docker.com/r/mysql/mysql-server/
docker inspect <container_name_here>
명령 출력에 다른 매개 변수 중 루트 암호가 표시됩니다.
시작할 때mysql
처음으로 컨테이너에 기본 암호가 없습니다.컨테이너를 실행하는 동안 설정한 암호는 사용자에게 할당되는 기본 암호입니다.root
.
MySQL 인스턴스를 시작하는 것은 간단합니다. $docker run --name some- mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw-d mysql:tag
여기서 some-mysql은 컨테이너에 할당할 이름이고, my-secret-pw는 MySQL 루트 사용자에게 설정할 암호이며, tag는 원하는 MySQL 버전을 지정하는 태그입니다.관련 태그는 위 목록을 참조하십시오.
다음 문서를 참조하십시오. https://dev.mysql.com/doc/refman/8.0/en/docker-mysql-getting-started.html
다음 명령을 사용하여 암호를 얻을 수 있습니다.
docker logs mysql 2>&1 | grep GENERATED
출력 예시:
GENERATED ROOT PASSWORD: Axegh3kAJyDLaRuBemecis&EShOs
기본 암호가 없습니다. 다음을 사용하여 로그인해 보십시오.
sudo docker exec -it mysql mysql -u root
언급URL : https://stackoverflow.com/questions/62072977/whats-default-password-in-docker-container-mysql-server-when-you-dont-set-one
'programing' 카테고리의 다른 글
브라우저에서 HTTP 요청이 열려 있는지 확인하는 방법은? (0) | 2023.10.19 |
---|---|
UIMagePickerController에서 다중 이미지를 선택하는 방법 (0) | 2023.10.19 |
WooCommerce 주문 항목 및 메타 데이터를 검색하기 위한 SQL 선택 쿼리 (0) | 2023.10.19 |
동일한 라인에서 날짜 및 시간 가져오기 (0) | 2023.10.19 |
의사 요소의 적층 순서를 부모 요소 아래에 설정할 수 있습니까? (0) | 2023.10.14 |