mysql 백업 파일 생성 > 도커 & 쿠버네티스

본문 바로가기

[이슈] mysql 백업 파일 생성

필기자
2023-11-13 17:55 1,190 0

본문

주의사항 :  내용은 task app 기준 예시이며 본인이 개발한 프로그램 구성에 따라 적용하세요.

해결방법 1,2,3 중 선택해서 제출하세요.
  • 해결방법 1 선호
기존 mysql 컨터이너는 바인딩 마운트 없이 컨터이너를 생성함

# 컨테이너 명 : 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로 내보내기 선택 후 빽업
  • 빽업 파일 제출 후 설치 방법 메뉴얼 제공
20231113183709_1f150c6967b3cada1f1b0bb6ea5a9308_r55u.png

20231113183840_1f150c6967b3cada1f1b0bb6ea5a9308_zioj.png

해결방법 2
  • mysql 컨테이너 생성시 바인딩 마운트(-v /home/kky/dbdata:/var/lib/mysql) 추가
  • 테이블 생성 및 데이터 삽입 
  • 제출시 /home/kky/dbdata 폴더 통채로 제공 및 설치방법 메뉴얼 제공
해결방법 3(테스트 필요)
  • 해결방법 2 실행
  • https://hull.kr/cloud/22 참고하여 새로운 이미지 생성
  • 새로운 이미지  run 할때 초기화 환경변수 제거 후 실행
  • 테스트 완료되면 새로운 이미지 도커 허브에 업로드 후 설치방법 메뉴얼 제공

댓글목록0

등록된 댓글이 없습니다.
게시판 전체검색