본문 바로가기
카테고리 없음

Window MySQL 배치 파일을 통해 DB 마이그레이션

by jaeaemin 2022. 5. 20.

 

목표 :

외부 API를 통해서 클라우드 서버에 있는 DB를 우리 로컬 DB로 실시간 마이그레이션 !

 

 

1.  Cmd에서 mysql에 접속하기

먼저 mysql을 cmd에서 접근하도록 설정하자 ! 

경로 설정 필요 

mysql 설치 경로 확인 : C:\Program Files\MySQL\MySQL Server 5.7\bin  [나의 경우]

mysql을 환경 변수로 설정하지 않으면  cmd에서는 mysql을 인식하지 못한다.

 

<해결 방법>

컴퓨터 - 우클릭 - 속성 - 고급시스템설정   OR   window key + PauseBreak - 고급시스템설정을 통해

환경 변수에서 시스템 변수에 mysql 변수의 값을 추가해서 cmd에서 인식하도록 한다.

 

그 후 cmd에서 mysql 접속을 실행한다 

> mysql -u root -p      : root 계정으로 최신 프로젝트에 접속한다.

>> 성공적으로 mysql에 접속한 화면을 확인할 수 있다. 

 

 

 

2.  Cmd에서 사용 가능한 mysql 명령어 

 

[1] client로 접속 

mysql -h서버 -u아이디 -p비밀번호 데이터베이스명
(ex) mysql -h192.123.0.64 -uroot -pasdf1234 testdb

 

[2] DB 생성&삭제

mysql> CREATE DATABASE testdb  { CHARACTER SET utf8 COLLATE utf8_general_ci } ;
mysql> DROP DATABASE testdb ;

 

[3] 사용자 추가&제거 

 

[4] DB 선택 , 쿼리 작업

mysql> show database;     => DB 목록 표시

mysql> user DB명            => 작업할 특정 DB 설정

mysql> show tables;

 

 

[5] 데이터베이스 및 테이블 생성 스크립트 보기  : 생성 시 사용된 스크립트(사용 쿼리) 확인 가능 

mysql> show create database "DB명"

mysql> show create table "테이블명"

 

 

[6] 쿼리 스크립트 파일 실행하기 

  • DB에 접속한 상황이라면

mysql> source "스크립트 파일 위치.sql"

  • 접속과 동시에 지정된 파일로 mysql 명령 실행 

mysql -u"아이디" -p"비밀번호" "데이터베이스명" < batch.sql [실행될 스크립트 파일명]

 

 

[6] 프로세스 확인하기

mysql> show processlist;    => 프로세스 리스트 보기

mysql> kill 프로세스-아이디 => 특정 프로세스 죽이기

 

 

 

 

3. CMD에서 .sql 파일 불러와서 실행시키기 

 

먼저 sql 파일을 준비한다. 

나는 mysql 워크벤치를 통해서 test라는 테이블을 하나 만들어 두었다.  ( run.sql )

// run.sql
insert into test values(3,4);
insert into test values(5,6);

 

그 후 cmd에서 Mysql 서버 폴더에 bin 파일안에 있는 mysql exe 파일에 이 파일을 넣어주면 된다. 

-cmd 예시-



-db- 

 

4.  배치 파일 생성 

 

- chcp 65001 : 한글 인코딩 허용 

- cd / ...        : mysql.exe를 실행할 수 있게 디렉터리를 이동함

- mysql.exe -u ... < "파일"  : mysql에 실행 시킬 sql 파일을 넣고 실행시킴

- puse : 일시 중지

 

이렇게 txt파일을 만든 다음 확장자를 .bat으로 바꾸면 batch파일로 인식되고, 이를 통해서 cmd에서 배치파일로 동작 실행된다. 

이렇게 실행된 결과도 mysql 워크벤치에서 확인햇을 때 잘 들어가는 것을 확인할 수 있다. 

 

 

 

 

5.  스케줄러에 배치파일 달아놓기 

윈도우에서 작업 스케줄러를 킨다. 

그 후 기본 작업 만들기를 클릭한다.

 

 

[1] 기본 작업 만들기 : 이름과 설명을 기입한다. 

[2] 트리거 : 트리거 설정 ( 매일, 매주, 매월, 한번, 특정 이벤트 .. )

[3] 작업 : 실행할 프로그램/스크립트를 설정함

[4] 마침 

반응형