본문 바로가기
데이터베이스/MySQL

[MySQL] BIN LOG를 이용한 쿼리문 내역 추출

by o테리o 2012. 4. 19.
BIN LOG를 사용해야 하는 점이 있지만은 하나의 방법이 될것 같습니다.

일 단위로 전체 백업 받고 그 시간 이후 부터 계속 시간단위의 쿼리문만 별도로 저장한다면은 그 시간대로 복구할수 있으니깐요..^^

전체 사용시에는 각 DB에 대해서 use 가 나오는 반면 하나의 DB를 할 경우에 시간값으로 해서 그 DB의 쿼리문만 나오는것 같습니다.


# Mysql binlog 전체
/usr/local/mysql/bin/mysqlbinlog --start-datetime="2009-03-11 09:00:00" --stop-datetime='2009-03-11 09:59:59' \
/usr/local/mysql/var/mysql-bin.000017 > /home/www/compare/database_all.sql

# Mysql binlog 특정 db
/usr/local/mysql/bin/mysqlbinlog --start-datetime="2009-03-11 09:00:00" --stop-datetime='2009-03-11 09:59:59' \
--database="program_version" \
/usr/local/mysql/var/mysql-bin.000017 > /home/www/compare/database_server_version.sql

여러가지 방법으로 백업도 가능 하지만 위 방법은 제가 찾아서 해본 방법입니다.

그외에 마스터와 슬레이브를 두어서 MySQL Replication 하는 방법으로 분산해서 하는 방법등도 있지만 자신이 필요한 형태로 하는게 좋을듯 합니다.