1. mysql -> .sql 백업하기 (스키마 or 테이블형태)
2. 도커 컨테이너에 공식 이미지 받아서 mysql 띄우기
3. 도커컨테이너에 백업해둔 .sql 불러와 마이그레이션 완료확인하기
**추후에는 3번작업을 EC2에서 수행 예정
mysqldump -u root -p --all-databases > C:\mysql-files/backup.sqCopy
1.1 Docker Hub에서 MySQL 8.0 이미지 받기
다음 명령어를 사용하면 MySQL 8.0 버전의 공식 이미지를 Docker Hub에서 다운로드할 수 있습니다:
docker pull mysql:latestCopy
2. MySQL 공식 이미지로 컨테이너 실행하기
MySQL 이미지를 다운로드한 후, 이를 실행하려면 docker run 명령어를 사용합니다. MySQL을 실행하려면 필요한 환경 변수를 설정해야 합니다.
2.1 기본 MySQL 컨테이너 실행
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=rootpassword -d mysql:8.0Copy
- --name mysql-container: 컨테이너 이름을 mysql-container로 설정합니다.
- -e MYSQL_ROOT_PASSWORD=rootpassword: MySQL root 계정의 비밀번호를 rootpassword로 설정합니다.
- -d: 백그라운드에서 실행되도록 설정합니다.
- mysql:8.0: 다운로드한 MySQL 8.0 공식 이미지를 사용합니다.
2.2 MySQL 포트 및 데이터 볼륨 설정
MySQL의 기본 포트는 3306입니다. 이를 EC2 인스턴스와 연결하기 위해 포트를 매핑하고, 데이터를 영속적으로 저장하려면 Docker 볼륨을 사용하여 데이터를 저장할 수 있습니다.
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=rootpassword -p 3306:3306 -v mysql-data:/var/lib/mysql -d mysql:8.0Copy
- -p 3306:3306: 호스트의 3306 포트를 컨테이너의 3306 포트와 연결합니다. EC2 인스턴스에서 MySQL에 접근하려면 이 포트를 열어야 합니다.
- -v mysql-data:/var/lib/mysql: MySQL의 데이터를 저장할 Docker 볼륨을 설정하여 컨테이너가 종료되더라도 데이터를 보존할 수 있습니다.
- -d mysql:8.0: MySQL 8.0 이미지를 백그라운드에서 실행합니다.
3. 컨테이너 상태 확인 및 관리
3.1 실행 중인 컨테이너 확인
실행 중인 컨테이너를 확인하려면 docker ps 명령어를 사용합니다:
docker psCopy
3.2 MySQL 컨테이너 로그 확인
MySQL 컨테이너의 로그를 확인하려면 docker logs 명령어를 사용합니다:
docker logs mysql-containerCopy
3.3 MySQL 클라이언트로 접속
MySQL 서버에 접속하려면 docker exec 명령어를 사용하여 MySQL 클라이언트에 접속할 수 있습니다.
docker exec -it mysql-container mysql -u root -pCopy
이 명령어는 mysql-container 컨테이너에서 MySQL 클라이언트를 실행합니다. 비밀번호를 입력하라는 메시지가 표시되며, rootpassword를 입력하면 MySQL 쉘에 접속할 수 있습니다.
이 과정을 통해 MySQL 공식 Docker 이미지를 EC2에서 손쉽게 실행하고, MySQL 데이터베이스를 관리할 수 있습니다. 필요한 경우 Docker Compose를 사용하여 여러 서비스(MySQL, Spring Boot, React)를 함께 실행하는 방법도 고려할 수 있습니다.
윈도우 Mysql workbranch에서 불러오는법
**mysql 내보내기**
메뉴 [server] > [Data export] > C:\Users\kosta\Documents\dumps\Dump20241112.sql
sql CLI에서 작업시
mysqldump -u root -p --all-databases > C:\mysql-files/backup.sqlCopy
[docker에서 삭제하고 sql파일로 복구 해보기]
도커 삭제진행
mysql-container 도커 삭제후 다시 생성하여 내용이 초기화된 모습
docker cp C:\mysql-files\Dump20241112.sql de28ac9eca6e:/var/lib/mysql-files/Dump20241112.sqlCopy
SOURCE /var/lib/mysql-files/Dump20241112.sql;Copy
스키마 통째로 옮겨보기
SOURCE /var/lib/mysql-files/backup.sql;Copy
DB 이전 완료
'클라우드' 카테고리의 다른 글
[docker compose] 리액트+스프링부트 dockercompose 하기 (1) | 2024.11.15 |
---|---|
[백엔드] 스프링 + docker 컨테이너로 이미지 만들기 (2) | 2024.11.14 |