[이슈] mysql 백업 파일 생성
필기자
2024-11-01 22:21
222
0
본문
주의사항 : 내용은 task app 기준 예시이며 본인이 개발한 프로그램 구성에 따라 적용하세요.
해결방법 1,2,3 중 선택해서 제출하세요.
이후 프로그램 개발과정에서 task, user 테이블을 생성하고 데이터를 삽입하였음.
기존 myfront와, mytaskapi, myuserapi는 바인딩 마운트되어 Dockerfile 을 이용하여 이미지 빌드하면 데이터를 담은 이미지가 생성됨
mysql은 바인딩 마운트(-v /home/kky/dbdata:/var/lib/mysql)를 하지 않았기에 컨테이너 내부에 DB 데이터를 저장함.
커스텀 이미지로 commit 하여 컨테이너를 생성하면 기존 생성한 DB와 TABLE을 초기화하는 로직이 있어 데이터가 유실됨.
해결방법 1
해결방법 2
해결방법 1,2,3 중 선택해서 제출하세요.
- 해결방법 1 선호
# 컨테이너 명 : mysql
# 네트워크 : php-mysql
# root 패스워드 : 123456
# database : php-mysql
# 사용자 계정 : php-mysql
# 사용자 패스워드 : 123456
# 포트포워드 : 33306:3306
docker run --name mysql -dit -p 33306:3306 --net=php-mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=php-mysql -e MYSQL_USER=php-mysql -e MYSQL_PASSWORD=123456 mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password
이후 프로그램 개발과정에서 task, user 테이블을 생성하고 데이터를 삽입하였음.
기존 myfront와, mytaskapi, myuserapi는 바인딩 마운트되어 Dockerfile 을 이용하여 이미지 빌드하면 데이터를 담은 이미지가 생성됨
mysql은 바인딩 마운트(-v /home/kky/dbdata:/var/lib/mysql)를 하지 않았기에 컨테이너 내부에 DB 데이터를 저장함.
커스텀 이미지로 commit 하여 컨테이너를 생성하면 기존 생성한 DB와 TABLE을 초기화하는 로직이 있어 데이터가 유실됨.
해결방법 1
- 윈도우에서 heidiSQL 접속 후 테이블 및 데이터 확인
- 데이터 베이스를 SQL로 내보내기 선택 후 빽업
- 빽업 파일 제출 후 설치 방법 메뉴얼 제공
해결방법 2
- mysql 컨테이너 생성시 바인딩 마운트(-v /home/kky/dbdata:/var/lib/mysql) 추가
- 테이블 생성 및 데이터 삽입
- 제출시 /home/kky/dbdata 폴더 통채로 제공 및 설치방법 메뉴얼 제공
- 해결방법 2 실행
- https://hull.kr/cloud/22 참고하여 새로운 이미지 생성
- 새로운 이미지 run 할때 초기화 환경변수 제거 후 실행
- 테스트 완료되면 새로운 이미지 도커 허브에 업로드 후 설치방법 메뉴얼 제공
댓글목록0