-
aws db에서 dump Rancher에서 importETC/MacOS,Rancher 2023. 3. 23. 10:43
로컬에서 db 환경을 구성하다 보니 엔코딩 관련된 문제들이 많이 발생한다.
개발할 시간도 부족한데 이런데 시간 허비하는게 너무 아깝게 생각되었다.
이번에 정리해 두고 개발 외적인 곳에 시간을 절약해 보자!
선행조건
아래 포스팅은 rancher 안에서 볼륨마운트 해서 db를 실행한 환경이다.
필자가 설정한 기준으로 실행하게 되니 아래와 같은 환경이 구성되어 있어야 한다.
https://dchkang83.tistory.com/86
1. 컨테이너에 접속
도커든 랜쳐든 명령어는 비슷하니 아래와 같은 명령어로 컨테이너에 접속 하면 된다.
$ nerdctl exec -it c944e23202cc /bin/bash
2. aws_dump.sh 작성
볼륨 마운트 된 경로에 추가해 둬도 된다.
mysqldump -h test-12345.aaaaa.ap-northeast-2.rds.amazonaws.com -u db_name -p \ --ignore-table-data=db_name.TEST_LOG --ignore-table-data=db_name.TEST \ --no-autocommit=1 \ --single-transaction=1 \ --extended-insert=1 \ da_name > db_name_dump.sql echo "UPDATE TEST SET TEL_NO = '999-9999-9999';" >> db_name_dump.sql echo "UPDATE TEST2 SET HP_NO = '999-9999-9999';" >> db_name_dump.sql echo "UPDATE TEST SET KEY = NULL;" >> db_name_dump.sql sed -i 's/DEFINER=[^*]*\*/\*/g' db_name_dump.sql
import 할때 속도때문에 아래 옵션들을 추가해 줬다.
--no-autocommit=1 \ --single-transaction=1 \ --extended-insert=1 \
3. 컨테이너 접속 상태에서 sh 실행 권한 주고 aws에서 덤프파일을 내려 받는다.
# 볼륨 마운트된 경로로 이동 $ cd /var/lib/mysql/ # aws에서 덤프파일을 내려 받기 $ ./aws_dump.sh
4. 컨테이너 접속을 한 상태에서 덤프파일을 아래와 같이 실행한다.$ nerdctl exec -it c944e23202cc /bin/bash $ mysql -uroot -p<패스워드> test_db < ./db_name_dump.sql
https://dchkang83.tistory.com/67
4. 단!! 필자는 데이터가 많아져서 인지 어느순간 부터인지 안되어서 아래 방식으로 진행하였다.
4.1. 데이터베이스 및 사용자 생성 및 권한 부여
# 데이터 베이스 생성 및 권한부여 CREATE DATABASE `test_db`; CREATE USER 'test-user'@'%' IDENTIFIED BY 'test1234@'; GRANT ALL PRIVILEGES ON `test_db`.* TO 'test-user'@'%'; flush privileges;
4.2. 데이터베이스 접속
$ mysql -u root -p $ use db_name
4.3. source를 통해서 쿼리 실행
source [파일경로]/[파일명].sql
source /var/lib/mysql/db_name_dump.sql
import 까지 고려한 export문 참조
https://lalwr.blogspot.com/2017/12/mysqldump.html
근데... 맥에서 터미널로 도커 컨테이너 접속해서 source로 처리하게되면 갱신 로그가 계속 나올줄 알았는데 어느순간에는 멈춰있다..
아놔.. 이것때매 무슨 문제있는지 한참 앚았는데 그런게 아니라 터미널 사이즈 변경하면 이어서 로그가 출력된다.. 아놔...
'ETC > MacOS,Rancher' 카테고리의 다른 글
앱스토어 설치 진행 상황 확인 (0) 2023.04.11 앱스토어 다운로드 및 설치 캐시 삭제 (0) 2023.04.11 맥북 ip 주소 확인 방법 (0) 2023.02.01 Rancher/shell script 만들기 (0) 2022.10.27 Brew OpenJDK 설치 및 버전 변경 (0) 2022.10.06