목표 :
외부 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] 마침