본문 바로가기
MySql

MySQL 회전 된 MySQL 바이너리 로그를 삭제하는 것이 안전합니까?

by 베이스 공부 2020. 11. 21.
반응형

바이너리 로깅이 활성화 된 MySQL 서버가 있습니다. 하루에 한 번 로그 파일이 "회전"됩니다. 즉, MySQL은 쓰기를 중지하고 새 로그 파일을 생성합니다. 예를 들어, 현재이 파일은 / var / lib / mysql에 있습니다.

-rw-rw---- 1 mysql mysql 10485760 Jun  7 09:26 ibdata1
-rw-rw---- 1 mysql mysql  5242880 Jun  7 09:26 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 Jun  2 15:20 ib_logfile1
-rw-rw---- 1 mysql mysql  1916844 Jun  6 09:20 mybinlog.000004
-rw-rw---- 1 mysql mysql 61112500 Jun  7 09:26 mybinlog.000005
-rw-rw---- 1 mysql mysql 15609789 Jun  7 13:57 mybinlog.000006
-rw-rw---- 1 mysql mysql       54 Jun  7 09:26 mybinlog.index

mybinlog.000006이 증가하고 있습니다.

mybinlog.000004 및 mybinlog.000005를 간단히 압축하여 다른 서버로 전송할 수 있습니까? 아니면 이전에 다른 작업을해야합니까?

mybinlog.index에는 어떤 정보가 저장됩니까? 최신 바이너리 로그에 대한 정보 만?

업데이트 : mybinlog.index 파일을 업데이트하는 PURGE BINARY LOGS로 로그를 삭제할 수 있음을 이해합니다. 그러나 로그를 삭제하기 전에 다른 컴퓨터로 로그를 전송해야합니다 (다른 컴퓨터에서 백업이 유효한지 테스트합니다). 전송 크기를 줄이기 위해 파일을 bzip2하고 싶습니다. 로그 파일이 더 이상 "있지"않은 경우 PURGE BINARY LOGS는 무엇을합니까?

 

해결 방법

 

마침내 MySQL 웹 사이트에서 답을 찾았습니다. 누군가이 정보가 필요한 경우 :

MySQL 5.0.60 이전에는 PURGE BINARY LOGS TO 및 PURGE BINARY LOGS BEFORE가 .index 파일에 나열된 이진 로그 파일이 다른 방법으로 시스템에서 제거되었을 때 동일한 방식으로 작동하지 않았으며 올바르게 작동하지 않았습니다. (예 : Linux에서 rm 사용). MySQL 5.0.60부터는 이러한 경우 두 가지 문 변형이 오류와 함께 실패합니다. (Bug # 18199, Bug # 18453) 이러한 오류를 처리하려면 .index 파일 (단순 텍스트 파일)을 수동으로 편집하여 실제로 존재하는 이진 로그 파일 만 나열되도록 한 다음 PURGE BINARY LOGS를 다시 실행합니다. 실패한 진술.

즉, .index 파일을 수동으로 편집해야하며 모든 것이 잘 될 것입니다. 흥미로운 점은 .index 파일이 일반 텍스트 파일이라는 것입니다. 나는 지금까지 그것을 알아 차리지 못했다.

 

참조 페이지 https://stackoverflow.com/questions/2989215

 

 

반응형

댓글