하고자 하는 것
1. ssh로 개발서버 접근
2. mysqldump 를 사용해 개발서버의 특정 테이블 dump sql 파일 생성 후 export
3. 나의 local 디비로 가져와 export된 sql파일 import
이슈사항
ssh 로 접근한 개발서버에 mysql이 깔려있지 않는다
문제해결
ssh 터널링을 통해 포트를 설정하여 로컬에서 원격 mysql 서버에 접근하도록 설정하자
- 폴더 위치 이동 후 스크립트 생성
touch myScript.sh
- 스크립트 수정
vi myScript.sh
- 스크립트 작성
#!/bin/bash
# SSH 터널 설정
# 사용자명, 호스트 및 SSH 키 경로 작성
# & : 명령어를 백그라운드에서 실행하라는 명령어
# ssh로 접속 후 내 pc의 mysql을 사용하여 개발 디비에 접속하기 위해 백그라운드 실행
# -N : ssh 클라이언트에게 ssh 세션을 열지 말라는 명령어
ssh -L 33061:localhost:3306 user@your-ssh-server.com -i /path/to/your/private/key -N &
# 스크립트가 실행되는 동안 잠시 대기합니다.
sleep 2
# MySQL 쿼리 실행
# 로컬 포트 33061을 통해 원격 MySQL 서버에 접속
mysql -h 127.0.0.1 -P 33061 -u your-mysql-username -p
# ssh 터널종료
# 현재 쉘에서 실행 중인 첫 번째 백그라운드 작업을 종료하라는 의미
kill %1
- 예시
# 로컬디비로 import하는 추가 script
# ssh 종료 후 로컬 mysql 접속해서 만들어진 sql 파일 import
mysql -u username -p database_name < sql_file_path/sql_file_name.sql
끄읏 -!
'DATABASE' 카테고리의 다른 글
[Oracle] LOB(Large Object) 데이터 형식이란 (1) | 2024.01.05 |
---|---|
[MYSQL] USING절 vs ON절 (0) | 2023.07.17 |
Sequel Pro 에서 리턴 값 엑셀로 추출하는 법 (0) | 2023.06.17 |
Sequel Pro 속도 개선 (0) | 2023.06.16 |