2011-11-30 2 views

답변

1

바이너리 로그가 아닌 바이너리 로그는 대개 복제 및 복구를 위해 데이터베이스에 대한 모든 변경 사항을 기록합니다.

가능한 대안은 general query log 일 수 있습니다. 나는 사용자 이름을 어떤 식 으로든 포함한다고 생각합니다.

이것은 응용 프로그램에서 임의의 "사용자"가 아니라 실제 연결 사용자 이름을 말하는 것으로 가정합니다. 여기

난 그냥 내 로그 중 하나에서 가져온 예입니다 : 당신이 볼 수 있듯이

111130 13:46:50 130 Connect [email protected] on 
        130 Init DB mydatabase 
        130 Query  SELECT somefields FROM sometable 
        130 Query  SELECT somefields FROM sometable 
        130 Quit 

, 당신은 연결 이름을 얻을하고 (이 경우 130)이 접속 ID와 아무는 것입니다 그 연결에 사용자.

+0

가능한 대안은 무엇입니까? – SharpAffair

+0

GQL의 일부 샘플 출력을 확인하고 있었으며 정보에 대한 링크가있는 내 대답이 업데이트되었습니다. – Cylindric

+0

GQL은 성능에 상당한 영향을 줄 수 있습니다. – Cylindric

1

주로 복제 목적으로 사용되는 이진 로그는 데이터 변경을 제외한 모든 보조 정보를 저장할 수 없습니다.

보기 가능한 로그를 저장하려면 (바이너리 로그가 mysql 만 사용할 수 있도록 설계 되었기 때문에) 기본 테이블 + 사용자 + 시간의 데이터를 저장할 추가 테이블이 있어야합니다.

Query Log

관련 문제