블로그

죄송합니다. MySQL 바이너리 로그를 삭제했습니다.

하루 종일 지쳐서 결국 실수를하게되어 팀 전체에 많은 시간이 소요되는 경우가 있습니다.

Yesterday, I was testing various backup and recovery methods supported by ZRM, a MySQL backup service for an upcoming release. MySQL 용 ZRM requires binary logging to be enabled on the MySQL server. I ran out of disk space during testing and removed the binary logs.

우연히 MySQL 서버에서 사용한 마지막 바이너리 로그를 삭제했고 MySQL 서버는 가장 최근 바이너리 로그를 사용하여 데몬을 실행합니다.

Short version - I could not start MySQL server at all.

MySQL 바이너리 로그 복구 : 서버 시작시 스택 추적

$service mysqld 시작

061031 17:38:48 mysqld 시작됨

061031 17:38:48 InnoDB : 시작됨; 로그 시퀀스 번호 14 1645228884

/usr/libexec/mysqld: File '/var/lib/mysql/mysql-bin.000017' not found (Errcode: 2)

061031 17:38:48 [ERROR] Failed to open log (file '/var/lib/mysql/mysql-bin.000017', errno 2)

061031 17:38:48 [오류] 로그 파일을 열 수 없습니다.

061031 17:38:48 [ERROR] Can't init tc log

061031 17:38:48 [오류] 중단 중

061031 17:38:48 InnoDB: Starting shutdown...

061031 17:38:51 InnoDB : 종료 완료; 로그 시퀀스 번호 14 1645228884

061031 17:38:51 [참고] / usr / libexec / mysqld : 종료 완료

061031 17:38:51 mysqld 종료

문제 해결 방법에 대한 아이디어를 주신 Aishwarya에게 감사드립니다. 바이너리 로그 인덱스 파일 (/var/lib/mysql/mysql-bin.index)은 최신 바이너리 로그 파일에 대한 정보를 저장합니다. 색인 파일을 삭제하면 문제가 해결됩니다. 물론 MySQL 용 ZRM을 사용하여 데이터베이스를 백업했으며 바이너리 로그 삭제 전 어느 시점 으로든 복구 할 수있었습니다.

Bottom line: Do not delete the most recent binary log file to save disk space and do regular backups.  ZRM is preferred and here’s a 링크 자세한 내용은

답장을 남겨주세요

ko_KRKorean
en_USEnglish fr_FRFrench it_ITItalian es_ESSpanish de_DEGerman pt_BRPortuguese sv_SESwedish tr_TRTurkish nl_NLDutch jaJapanese pl_PLPolish zh_TWChinese id_IDIndonesian ms_MYMalay thThai ko_KRKorean