블로그

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

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

어제 저는 향후 릴리스의 MySQL 백업 서비스 인 ZRM에서 지원하는 다양한 백업 및 복구 방법을 테스트했습니다. MySQL 용 ZRM을 사용하려면 MySQL 서버에서 이진 로깅을 활성화해야합니다. 테스트 중에 디스크 공간이 부족하여 바이너리 로그를 제거했습니다.

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

짧은 버전 – MySQL 서버를 전혀 시작할 수 없습니다.

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

$service mysqld 시작

061031 17:38:48 mysqld 시작됨

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

/ usr / libexec / mysqld : '/var/lib/mysql/mysql-bin.000017'파일을 찾을 수 없음 (오류 코드 : 2)

061031 17:38:48 [오류] 로그를 열지 못했습니다 (파일 '/var/lib/mysql/mysql-bin.000017', errno 2).

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

061031 17:38:48 [오류] tc 로그를 초기화 할 수 없습니다.

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

061031 17:38:48 InnoDB : 종료 시작 중…

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을 사용하여 데이터베이스를 백업했으며 바이너리 로그 삭제 전 어느 시점 으로든 복구 할 수있었습니다.

결론 : 디스크 공간을 절약하고 정기적 인 백업을 수행하기 위해 최신 바이너리 로그 파일을 삭제하지 마십시오. ZRM이 선호되며 여기에 링크 자세한 내용은

토론에 참여

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