[온라인저지] Server에서 Local로 DB 복사하기 : .sql 파일 import (Ubuntu -> Windows)

Seohyun-kim·2022년 11월 21일
0

Online Judge System

목록 보기
8/9
post-thumbnail

1. mysql dump (.sql 파일 생성)

[온라인저지] MySQL 데이터베이스 자동 백업 스크립트 (HUST OJ)

위 페이지를 참고하여 백업하고자 하는 sql 파일을 생성해준다.

위에서는 crontab으로 자동 백업을 했지만 아래처럼 그냥 실행하나 시켜주면 오늘 날짜로 생성된다.

/home/judge/backup/mysql# ./db_backup.sh


2. Ubuntu Server에서 Windows Local로 .sql 파일 복사

2.1 Local 에서 바로 dump랑, import 하면 되는거 아님?

  • 학교 서버라서 외부 ip에서는 3306 port가 막혀있다...

  • 그래서 어쩔 수 없이 번거롭게

    1. Server 접속해서 mysql dump 뜬다.
    2. Local 환경에서 Server로 부터spc로 파일을 copy한다.
    3. Local Database에 import 한다.

    이러한 세 과정을 거친다.


2.2 scp 파일 전송

2.2.1 접근이 가능한 폴더로 이동 (server에서 실행)

  • 기존 백업 스크립트에서 /home/judge/backup/mysql/ 폴더 안에 덤프한 파일을 받아두었는데,
    이러면 Permission 오류가 난다.
  scp: /home/judge/backup/mysql/backup_2022-11-21.sql: Permission denied
  • 그래서 /home/ 위치로 파일을 copy 해준다.
 /home/judge/backup/mysql# cp backup_2022-11-21.sql /home/backup.sql

2.2.2 scp 파일 전송 (local에서 실행)

> scp 사용자명@서버주소:/home/backup.sql C:\Users\selen\

성공적으로 파일 복사됨! (Server -> local)



3. mysql import (local에서 실행)

  1. mysql 서버로 이동

    C:\Users\selen>cd C:\Program Files\MySQL\MySQL Server 8.0\bin
  2. mysql local 접속

    C:\Program Files\MySQL\MySQL Server 8.0\bin>mysql -u root -p
  3. 데이터 베이스 생성 ( DB명 : jol )

    mysql> CREATE DATABASE jol;
    Query OK, 1 row affected (0.01 sec)
    
    mysql> use jol;
    Database changed
  4. .sql 파일 import

    mysql> source C:\Users\selen\backup.sql
    Query OK, 0 rows affected (0.00 sec)
    
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    		잔뜩 나옴!
      
    Query OK, 1 row affected (0.00 sec)
    
    Database changed
    Query OK, 0 rows affected (0.00 sec)
    



4. Mysql table 확인

MySQL workbench 에서 로컬 DB jol 안에 table들이 잘 들어간 것을 확인할 수 있다.

0개의 댓글