imhamburger 님의 블로그

Mysql - 원격에서 로컬로 파일 보내기, Mysql 접속하기 본문

Mysql

Mysql - 원격에서 로컬로 파일 보내기, Mysql 접속하기

imhamburger 2024. 7. 12. 19:00
brew install mysql #mysql 설치(맥북)

 

가지고 있는 외부서버(AWS, GCP 등)에 있는 데이터베이스를 내 로컬로 가져올 때는 터미널에 아래와 같이 입력한다.

(나는 AWS서버를 이용하고 있어서 AWS서버를 예시로 해야겠다.)

 

여기서 잠깐, 파일이 너무 무겁다면 압축을 하여 보내는 것이 훨씬 편리하다. 압축방법은 간단하다.

gzip {파일명} #압축
ls -lh {파일명} #용량 확인하기

 

 

원격에서 로컬로 보내기

AWS={외부 IP 주소} #AWS주소가 너무 길어 변수 선언

scp -i {유저명}@{IP주소}:{전송할 파일 경로} {받을 경로}

#예시
scp -i abc.pem ubuntu@$AWS:~/test.txt .

위 코드를 해석하자면, scp는 'source copy'이며 '-i {파일명.pem} ubuntu@AWS주소' 까지는 AWS에 접속할 때 쓰는 그 긴 코드를 입력하고 : 을 추가한다. : 다음에는 복사할 파일이 있는 위치와 파일명까지 입력한다. 마지막으로 . 의 의미는 현재 내가있는 로컬서버에 위치를 나타낸다.  

 

따라서 위의 코드를 다시 정리하자면,

scp {AWS 접속할 때 쓰는 코드}:{복사할 파일 위치} {복사될 위치}

 

그럼 로컬에서 외부서버로 보낼 때는 어떻게 하지?

 

로컬에서 원격으로 보내기

scp -i {aws_key.pem} {전송할 파일 경로} {유저명}@{IP주소}:{받을 경로}

#예시
scp -i {aws_key.pem} ~/app/text.txt ubuntu@$AWS:~/

 

조금 헷갈릴 수 있지만 명령어 입력 후 원격에 있는 파일을 내 로컬로 옮기겠다. 내 로컬에 있는 파일을 저~기에 옮기겠다. 이렇게 생각하면 순서가 헷갈리지 않는다.

 

어쨋든, 원격에서 파일을 무사히 로컬로 옮겨왔다. 압축된 파일을 이제 압축을 풀어야 한다.

gzip -d {압축된 파일명} #끝에 .gz 가 있는 건 압축이 되어있는 파일
tar -czvf {압축될 파일명}.tar.gz {압축할 파일명} #tar을 이용한 두 번 압축

 

이제 모든 준비는 끝났고 Mysql에 접속하면 된다.

mysql.server start #mysql을 처음 시작할 때 해당 명령어 사용
mysql -uroot -p #mysql 로그인

#참고
exit #mysql 나오기

 

다음글은 Mysql에서 데이터베이스를 만들고 그 안에서 빈 테이블을 만들어 불러온 파일의 내용으로 채워보는 것으로!

'Mysql' 카테고리의 다른 글

Mysql - csv파일 불러올 때 발생하는 에러들 해결하기  (7) 2024.07.24