절개와 지조 4차 모각코
Docker란?
예를 들어 MySQL을 다른 OS에서 설치하려면 다양한 변수가 존재
- 즉 설치 과정이 OS와 OS의 버전에 따라 달라지게 됨
- 다양한 다수의 다른 소프트웨어들의 설치가 동반되는 것이 일반적임
Docker는 특정 프로그램과 (그 프로그램을 실행하는데) 필요한 기타
소프트웨어들을 하나의 패키지로 만듬으로써 해당 프로그램의 개발과 사용을 도와주는 오픈소스 플랫폼
- 이 패키지를 먼저 파일 시스템 형태로 만드는데 이를 Docker Image라고 함
- 이 Image는 다른 이들과 공유가능
- Docker Image 공유소를 Docker Registry(Docker Hub)라고 부름
- Docker Image를 실행시킨 것을 Docker Container라고 부르며 응용프로그램에 해당
맥 기반 MySQL Docker 실행
먼저 terminal 프로그램 실행
MySQL docker image를 다운로드
- docker pull mysql/mysql-server:8.0
다운로드 받은 이미지로 Docker container 실행
- docker run —name=mysql_container —restart on-failure -d mysql/mysql-server:8.0
MySQL root 계정의 패스워드 찾기
- docker logs mysql_container 2>&1 | grep GENERATED
마지막으로 MySQL shell 실행하기
- docker exec -it mysql_container mysql -uroot -p
docker exec - 컨테이너 안에서 명령을 실행하라는 명령
mysql_container : 컨테이너 이름
내 컴퓨터 - docker engine - docker container
-uroot → acount id
-p → pass word
Mysql 비밀번호 변경
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
먼저 해당 MySQL 컨테이너의 이름 또는 ID를 확인해야 합니다. 다음 명령어를 사용하여 실행 중인 Docker 컨테이너 목록을 확인할 수 있습니다:
docker ps
이 명령어는 현재 실행 중인 Docker 컨테이너의 목록을 표시합니다.
MySQL 컨테이너의 이름 또는 ID를 찾아 봅니다.
docker ps MySQL 컨테이너에 대한 쉘 세션을 엽니다. 다음 명령어를 사용합니다(컨테이너 이름이나 ID를 사용하여 <container_name_or_id>를 대체합니다):
docker exec -it <container_name_or_id> bash
MySQL 쉘에 로그인합니다. 다음 명령어를 사용합니다:
mysql -u root -p
이 명령을 실행하면 비밀번호를 입력하라는 메시지가 나타납니다. 현재 설정된 MySQL 루트 사용자의 비밀번호를 입력하고 엔터 키를 누릅니다.
비밀번호를 변경합니다. 다음 명령어를 사용합니다:
ALTER USER 'root'@'localhost' IDENTIFIED BY '새로운_비밀번호';
여기서 '새로운_비밀번호'를 원하는 새로운 비밀번호로 대체합니다. 비밀번호는 따옴표로 묶여야 합니다.
MySQL에서 나가려면 다음 명령어를 입력합니다:exit
MySQL 컨테이너의 쉘 세션을 종료합니다:exit
이제 MySQL 컨테이너의 비밀번호가 변경되었습니다.
다음부터는 새로운 비밀번호를 사용하여 MySQL에 액세스할 수 있습니다.