Mysql 백업 & Workbench 마이그레이션

blackbell·2020년 3월 4일
1

다음과 같은 상황

DB 이름: test_db
USER_ID: test_user
USER_PASSWORD: 1234
백업 파일 이름: backup_test_db.sql

Mysql DB 백업

✏️
$ mysqldump -u [사용자 계정] -p [원본 데이터베이스명] > [생성할 백업 파일명].sql

🔴Example
$ mysqldump -u test_user -p test_db > backup_test_db.sql
password: 1234

Mysql DB 복원

✏️
$ mysql -u [사용자 계정] -p [복원할 DB] < [백업된 DB].sql

🔴Example
$ mysql -u test_user -p test_db > backup_test_db.sql
password: 1234

Mysql Migration

Mysql Workbench ( Migration Wizard )

workbench menu

Migration 절차
1. source RDBMS connection
2. target RDBMS connection
3. 이후 setting

source: migration(이주)시키고자하는 DB
target: 받아들이는 DB

source RDBMS -> target RDBMS

✅source RDBMS connection

위의 상황은 다음과 같음

환경: Server, DB(Mysql), User

🧱 방화벽 상황

  • User에서 DB 3306 port 접근 불가 (방화벽에서 막힘)
  • User에서 Server 22 port 접근가능
  • Server에서 DB 3306 port 접근가능

이런 상황일 때 User에서 Server로 SSH 22 port 접속.
Server에서 DB(MySQL) 3306 port 접속하는 것이 가능.

→ Mysql over SSH
❗️주의, Mysql 원격접속을 열어둘 것

추가

리눅스 터미널 환경에서 다른 서버로 파일 복사

현재 서버 ← 다른 서버

✏️
$ scp [옵션] [다른 서버 계정]@[다른 서버 주소]:[다른 서버의 파일 또는 디렉토리] [지금 서버의 디렉토리]

🔴Example
$ scp -r root@11.22.33.44:/etc/copyfile.js /home/documents
password: 1234

현재 서버 → 다른 서버

✏️
$ scp [옵션] [지금 서버의 파일 또는 디렉터리] [다른 서버 계정]@[다른 서버 주소]:[다른 서버의 디렉터리]

🔴Example
$ scp -r /home/documents/copyfile.js root@11.22.33.44:/etc
password: 1234

참고 사이트
https://zetawiki.com/wiki/MySQL_SSH_%ED%84%B0%EB%84%90%EB%A7%81
https://server-talk.tistory.com/30
https://noota.tistory.com/entry/SCP-리눅스-터미널-환경에서-다른서버의-파일-복사해오기

profile
알고 싶은게 많은 프론트엔드 개발자입니다.

0개의 댓글