mysql 서버 쌓이는 binlog를 특정 position에서 최근 로그를 읽어보자.
mysql> show binlog events in 'mysql-bin.000011' from 850378398 limit 3\G;
*************************** 1. row ***************************
Log_name: mysql-bin.000011
Pos: 850378398
Event_type: Intvar
Server_id: 154
End_log_pos: 850378426
Info: INSERT_ID=6631643
*************************** 2. row ***************************
Log_name: mysql-bin.000011
Pos: 850378426
Event_type: Query
Server_id: 154
End_log_pos: 850378632
Info: use `db`; insert LOW_PRIORITY into log (admin_id, admin_log, remote_addr, im_log_seq) values ('best','message:view','61.250.146.69', 727044)
*************************** 3. row ***************************
Log_name: mysql-bin.000011
Pos: 850378632
Event_type: Intvar
Server_id: 154
End_log_pos: 850378660
Info: INSERT_ID=679994370
3 rows in set (0.00 sec)
위와 같이 하면 결과가 검색하는 포지션 위치에서 최근 3개의 로그를 읽을 수 있다.
특정 포지션에서 로그를 확인할때 사용할수 있겠다.
* binlog - mysql binary log는 DDL(create, drom, alter)문과, DML(insert, update, delete)를 통해 수행되는 db query 문들의 정보를 저장한다고 보면 된다. 단, show 나 select문은 저장되지 않는다.
이 binlog는 DB를 복제(replication)하거나, 특정 시점에 있었던 query를 확인하고 복구하는데도 사용이 가능하다.
아래 해당 내용이 잘 소개된 이웃글이 있으니 상세한 부분이 궁금하면 방문해길..