이렇게 빨리 Migration을 진행할 줄 몰랐다.
물론 내가 진행 하는 것이 아니지만 이참에 여러 테스트를 해 보았다.

Oracle과는 다르게 쉽게 sql 문을 뽑아 낼 수 있고 쉽게 migration을 진행할 수 있는점이 매력적이다.
정확히 말하면 한단계 과정을 덜 거치는 차이일 뿐인데..

1. 단순히 data를 txt 파일로 export 진행
-자신이 원하는 데이터를 바로 파일로 export 하는 것이다.

mysql> SELECT * FROM 테이블명 INTO OUTFILE '/my_log/tmp1.txt';

이걸로 끝이다.
아래는 테스트로 뽑아낸 데이터다
(디폴트는 Tab이다. 혹시라도 바꾸고자 한다면 명령문에 FIELDS TERMINATED BY '문자' 를 추가해 주면 된다

mysql> SELECT * FROM 테이블명 INTO OUTFILE '/my_log/tmp1.txt''
    -> FIELDS TERMINATED BY ',';

이렇게 하면 , 로 컬럼마다 구분을 해 준다


--너무 성의 없어 보이는군....하지만 탭으로 나누어서 데이터가 export 된 것을 확인 가능하다.


2. Mysqldump 를 이용하여 데이터 export

 

기본 구문은 아래와 같다

$> mysqldump -u 유저명 -p비밀번호 DB명 


아래는 특정 테이블만 뽑아내는 내용

$> mysqldump -u 유저명 -p비밀번호 DB명 테이블명 


아래는 테이블의 특정 조건만 뽑아 내는 내용이다

$> mysqldump -u 유저명 -p비밀번호 DB명 테이블명 --where="조건절" > 파일명


추가로 위와 같이 뽑아내면 테이블 스키마도 같이 export 되어 나오기 때문에 다순 데이터 구문만 뽑아내고 싶다면 아래와 같이 진행해 보자

$> mysqldump -u 유저명 -p비밀번호 DB명 테이블명  --where="조건절" --no-create-info | grep  '^INSERT' > 파일명


샘플 명령문

$> mysqldump -u root -pmysql TESTDB TestTable --where="idx=5 and status='Normal'" --no-create-info | grep  '^INSERT' > TestTable_query.sql


-- 캡쳐는 회사 디비 내용을 가지고 테스트 하느라 비공개....




Import는 다시 진행 후 업로드 해야겠다.


반응형

'MySQL' 카테고리의 다른 글

[펌][MySQL] 비교 연산자  (1) 2016.03.04
[펌] [MySQL] 5.1의 InnoDB에서 MySQL 테이블 최적화하기  (0) 2016.03.03
[MySQL] error 1130  (0) 2016.02.19
[MySQL] 임시 DB 설치 3.23.58 (3.*) / python  (0) 2016.02.19
[MYSQL] Socket 접속  (0) 2016.02.11

+ Recent posts