BLOG ARTICLE mysqladmin | 1 ARTICLE FOUND

  1. 2008.02.28 자주 사용하는 MySQL 명령어 (4)

중요도나 용도에 상관없이 제가 자주 사용하는 MySQL의 툴과 명령어를 정리해 보았습니다. 개인적인 참조로 쓰기 위한 것이므로 자세한 설명은 생략하였습니다. 자세한 내용은 한국 MySQL의 메뉴얼 페이지를 참조하세요. OS X에서 mysql 설치는 제 이전 포스트를 확인하시면 됩니다

* 데몬 시작
> mysqld_safe --user=[아이디] &

* 종료
> mysqladmin -u [아이디] -p[패스워드] shutdown

* 재실행
> mysqladmin -u [아이디] -p[패스워드] reload

* 계정 추가
localhost가 %일 경우 모든 IP에서의 접근을 허용합니다.
mysql> grant all privileges on [database].* to [아이디]@"localhost" identified by "[패스워드]"

* 패스워드 변경
mysql> SET PASSWORD FOR [아이디]@localhost=PASSWORD('[패스워드]')  

* 테이블 필드 변경
명령어별 옵션은 아래와 같습니다.
  • add : add [기존필드] [타입] after [필드]
  • change : change [변경될 필드]  [새로운 필드명] [타입]
  • drop : drop [삭제될 필드]

mysql> ALTER TABLE [테이블 명] (add | change | drop) ...

* 데이터 백업
데이터 백업 시 아래와 같이 사용합니다. 테이블 명을 생략하면 database의 전체 테이블을 백업합니다. 자주 쓰이는 옵션은 아래와 같습니다.
  • -d:  테이블 생성 정보만 백업
  • -f: 데이터만 백업

> mysqldump -u [아이디] -p[패스워드] [database] [테이블 명] > [파일명]

* 테이블 검사
mysql>CHECK TABLE [테이블 명]

* 테이블 복구
mysql>REPAIR TABLE [테이블 명]

repair로 고쳐지지 않는 다면 쉘에서 아래와 같이 시도합니다.
> myisamchk -safe-recover [mysql data path]/[테이블 명]

* 바이너리 로그
MySQL은 select와 같은 데이터에 변동이 없는 내역을 제외하고 data 디렉토리에 바이너리 로그로 저장합니다. 아래와 같이 mysqlbinlog로 텍스트화 된 내용을 확인할 수 있으며, 변경된 내역을 가지고 있기 때문에 데이터 복구시에도 사용할 수 있습니다.
> mysqlbinlog [로그파일 명]

* 파일로 저장
mysql>SELECT * INTO OUTFILE "[filename]" FROM [테이블 명];

엑셀에서 사용하기 위해 CSV(Comma Separated Value) 포맷으로 저장할 경우에는 아래와 같이 사용합니다.
mysql>SELECT * INTO OUTFILE "[filename]" FIELDS TERMINATED BY ',' FROM [테이블 명];

* CSV 파일 로드
LOAD DATA LOCAL INFILE "[CSV 파일패스]" INTO TABLE [테이블명] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
"로 필드가 구분되었을 경우에는 ENCLOSED BY '\"'를 추가합니다.

* 테이블 최적화
mysql>OPTIMIZE TABLE [테이블 명]

* mysqladmin
서버의 상태를 감시하고 동작을 제어 합니다. 명령어들은 아래와 같습니다.
  • ping : 서버가 실행중인지 확인합니다.
  • status: 현재 서버의 상태를 출력합니다.
  • processlist: 실행중인 쓰레드의 정보를 출력합니다.
  • kill [Id]: 특정 쓰레드를 종료합니다.
  • variables: mysql 환경변수 값을 출력합니다.

> mysqladmin -u [아이디] -p[패스워드] 명령

* 쉘에서 UTF8
character_set_client가 latin1로 되어 있으면 mysql 쉘에서 한글이 깨어져 나오는 경우가 있습니다. 아래와 같이 현재 문자셋을 알아 봅니다.
mysql> show variables like '%char%';

character_set_client이 utf8로 되어 있지 않을 경우에는 my.cnf 파일에서 아래와 같이 설정합니다.
[mysql]
default-character-set = utf8

'기타 > 자잘한 Tip' 카테고리의 다른 글

Xcode에서의 Ruby on Rails  (8) 2008.08.20
Dashcode로 올블로그 RSS 위젯 만들기  (2) 2008.05.22
자주 사용하는 MySQL 명령어  (4) 2008.02.28
flex2 - xml을 이용한 동적 메뉴 예제  (0) 2008.02.01
PHP에서 RSS 가져오기  (0) 2007.12.08
OS X에 MySQL 설치  (4) 2007.10.12
모든 댓글을 환영합니다. (욕설과 광고는 삭제합니다.)
  1. 이욱정 2008.04.01 14:56  댓글주소  수정/삭제  댓글쓰기

    phpMyAdmin에서는 한글이 잘 나오는데 유독 쉘에서 한글이 깨져서 왜 그런가 했더니 바로 저 문제였군요.
    mysql 초보자인데 my.conf 파일이 어디에 위치해 있는지 알려주시면 감사하겠습니다.

    참고로, 타이거에서 레오파드로 업그레이드해서 쓰고 있고 mysql5는 인스톨 프로그램으로 설치했습니다.
    검색을 해보니 /etc에 있다고 하는데 제 컴퓨터에는 없군요 ㅠㅠ

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2008.04.01 17:34 신고  댓글주소  수정/삭제

      mysql이 설치된 디렉토리 밑에 support-files란 디렉토리에 보시면 my-*.cnf란 파일들이 있습니다. 메모리 용량에 따라 적당한 파일을 선택하셔서 /etc밑에 my.cnf로 복사한 후에 위의 한글설정을 입력하고 저장합니다. 그 후에 mysql을 재기동하면 될것 같습니다.

      맥에선 별다른 설정없이 한글사용에 이상이 없는 것으로 아는데요. 제 블로그에서 '터미널에서 한글'로 검색해 보시면 관련된 내용이 있습니다.

      방문해 주셔서 감사 드리고 도움이 되셨기를 바랍니다. :)

      추가: 제가 my.cnf인데 my.conf로 해놓았네요. 죄송합니다. 다시 수정해 놓았습니다.

  2. 이욱정 2008.04.02 02:42  댓글주소  수정/삭제  댓글쓰기

    말씀하신 대로 해보니 잘되는군요. ^^ 감사합니다.