우선.. mysql을 접속합니다.
접속까지의 명령어는 기본 명령어 설명에 있으니 생략을;;

로그파일이 많이 쌓여서 디스크 용량이 부족한 경우 일단 로그파일을 지웁니다.

mysql>RESET MASTER

로그 파일은 XXX-bin.000001 같은 형식으로 쌓입니다.
위치는 디폴트로 설치했다면 /usr/local/mysql/var/에 있을 겁니다.
RESET MASTER를 입력하면 로그 파일들이 지워집니다.

백업을 하는 방법은 쉘에서 하는 법과 mysql내에서 하는법 두가지가 있습니다.

mysql내에서 백업하는 법

mysql>backup table <table1>[, table2, table3...] to ''/usr/local/backup'';

의 형식이구요. 물론 뾰족괄호같은건 입력하는거 아니구요 대괄호안은 여러 테이블 백업시 입력하는 겁니다. to다음은 저장할 디렉토리명입니다. 작은따옴표에 넣어서 입력하면 됩니다.
리스토어는

mysql>restore table <table1>[, table2, table3...] from ''/usr/local/backup'';

★쉘에서 백업하는 방법
mysqldump란 실행프로그램은 /usr/local/mysql/bin 에 있습니다.(물론 기본설치시)
그러므로 거기까지 들어가서 실행합니다.
mysqldump를 이용해서 백업을 하면 텍스트형태로 백업이 되기 때문에vi에서 열어서 볼 수 있습니다. DB생성, 테이블생성구조등이 나와있기 때문에 이용해서 다른 작업도 가능합니다.

전체 데이터베이스 백업하기
>./mysqldump -uroot -ppass -e --all-databases > /usr/local/backup/alldata.sql
데이터베이스 단위로 백업하기
>./mysqldump -uroot -ppass -e --databases db1 > /usr/local/backup/db1.sql

*옵션에서 e를 붙이는 이유는 extended-insert로 리스토어시 보다 빠르게 하기 위해 쿼리를 변형하는 옵션입니다.

리스토어 하기
>./mysql -uroot -ppass < /usr/local/backup/alldata.sql
innodb로 리스토어 하려면 alldata.sql을 vi로 열어서 Type=MyISAM부분을 삭제하면 자동으로 innodb로 저장됩니다.

물론 -u다음에 붙어있는 root는 mysql아이디이기 때문에 알맞는 아이디로 바꾸시구요 -p뒤에 있는 pass란 글자도 마찬가지..
-p라고만 입력하고 엔터를 치면 비밀번호를 물어봅니다. 그 때 비밀번호를 입력해줘두 됩니다.


facebook posting twit

  • 특정 포탈에서 접속한 사용자만 접속 막는 방법
  • 정규식(Regular Expression) 표현 방법 및 예제
  • RegExp 사용법
  • 윈도우 환경에서 mysql 자동 백업하기
  • shell script를 이용한 mysql 자동 백업(backup)
  • 정규식으로 문자열 바꿔주기
  • 특정 문자열을 기준으로 해서 배열로 만들어주는 방법
  • mysql 백업에서 복구까지
  • Flash와 PHP를 활용하여 멀티 파일 업로드 구현하는 방법
  • 소켓 프로그래밍 기본 흐름 – Socket Programming Basic Flow
    Tagged on:                 
  • Leave a Reply