|
mysql 은 미러링을 목적으로 기본적으로 바이너리 로그를 남긴다.
로그는 디비에 업데이트를 미치는 모든 쿼리가 시간과 함께 저장된다..
mysql/var/localhost-bin.000001 식으로 생기며 디비 재시작시에 숫자가 하나 늘어난다.
파일이 커서 저장하지 안을려면 my.cnf 에서 log-bin 된부분을 주석 처리 해야 되고
파일 위치를 바꾸고 싶다면 log-bin = /usr/~~/file 처럼 주소를 적어주면 된다.
생성된 파일은 복구에도 사용이 가능하다.
기본적으로는 /usr/local/mysql/bin/mysqlbinlog /usr/local/mysql/var/localhost-bin.000001 > bakcup.sql 식으로 파일을 일반 쿼리로 컨버팅 가능하다...
사용할 만한 옵션으로는
-d 데이타베이스명 이건 특정 데이타베이스만 가져온다.
/usr/local/mysql/bin/mysqlbinlog --start-datetime="2008-12-30 01:00:00" --stop-datetime='2009-01-10 01:00:00' /usr/local/mysql/var/localhost-bin.000001 > bakcup.sql
이건 시간을 지정해서 그부분만을 가져온다...
가져온걸 다시 디비로 넣을때는 . /usr/local/mysql/bin/mysql -u 사용자 -p < backup.sql 해주면 된다... |