2011년 10월 26일 수요일

리눅스 콘솔 입력창에서 mysql 쿼리 날리기.(실행결과를 파일로 저장하기)


몇몇 업체에서 테이블의 정보를 보내달라고 할 때가 있다.
이 때 테이블의 내용이 몇 줄 안되면 mysql 들어가서 select 해서 이렇게 해서 나온 화면을 복사해서
넘기곤 했다.

문제는 내용이 몇천줄 이상가면 화면이 넘어가서 복사도 할 수 없다.

알고 보면 엄청 간단한데 검색해도 잘 안나와서 적어본다.

콘솔창에서 쿼리문을 날리고 이걸 파일로 저장하면 참 좋을 텐데, 어떻게 방법없나 검색해 봤지만
검색나오는 게 없더라...

오늘 bash 스크립트 짠다고 여기저기 뒤지다.
드디어 발견했다.

http://www.joinc.co.kr/modules/moniwik ··· isc.html


10.5번을 보면 아래와 같은 소스가 나온다.



#!/bin/bash 
DBS=`mysql -uroot -e"show databases"` 
for b in $DBS ; 
do 

mysql -uroot -e"show tables from $b" 
done




mysql 옵션에 -e 를 주면 된다는 것을 알수 있다.

응용해서 해보면 아래와 같이 할 수 있을 것이다.
/usr/local/mysql/bin/mysql -uroot -p패스워드 -e "use database_1;show tables" > table.txt

댓글 없음:

댓글 쓰기