메뉴 건너뛰기

조회 수 982 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

DB 버전 업,다운 과정에서 mysql db data 자료가 백업된채 바뀌는 경우가 생길수도 있고

그러다보면 원상으로 돌리는 과정에서 inno db가 손상이 되어서 안읽혀지는 경우가 있다.

이 경우 mysqldump 로 백업된 sql 백업자료가 없다면 대략 난감해지는 상황이 된다.

 

frm에서 테이블 스키마를 뽑은후 테이블 생성하고 tablespace에 해당하는 ibd를 discard해서 삭제한후

원본 ibd를 복사해 넣은후 import tablespace 하면 복구되는 경우도 있지만

mariadb 버전이 맞지않아서 import과정에서 schema mismatch 오류가 나서 진행이 안되는 경우가 많다.

오류메세지만으로는 너무 간략해 뭐가 문제인지 알수가 없고 인터넷에 제시된 방법대로 row format을 맞춰줘도 여전히 안된다.

 

시중에 나도는 10여가지 mysql db repair tool은 설치는 무료인데 이를 저장하거나 export하려면 전부 상용이고 

가격도 엄청 비싸다.

 

이런 상용 복구툴을 안쓰고, 일일이 frm/ibd파일로 복구하는(그렇다고 복구되지도 않는) 번거로운 방법말고

가장 간단하게 해결하는 방법은

 

윈도우PC에 mariadb을 새로 설치한다음 시작된 서비스를 중지하고

서버로부터 백업된 db data내의 database 디렉토리들을 가져와 mysql data 디렉토리로 복사해 넣는다.

그런후 mysql설정파일인 my.cnf 파일에 [mysqld] 섹션아래에

 

[mysqld]

innodb_force_recovery = 1

 

를 추가해서 서비스 재시작후 heidisql 툴로 로그인해서 테이블이 제대로 로딩되었는지 확인한다.

아마 이 단계에선 테이블들이 제대로 로드되지 않을것이다.

 

innodb_force_recovery = 1 의 값을 1~6까지 순차적으로 올려가며

서비스 재시작을 통해 제대로 테이블들이 로드되었는지 확인하면 어느 단계에서 성공해서 로딩이 된다.

 

단계별 설명은 

https://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html

 

 

개인적으로는  innodb_force_recovery 4단계에서 제대로 로드되었고 로드된후 db dump떠서 원래 서버에 잘 복구완료시켰다.

 

수작업 개별 테이블 복구나 유료툴 복구보다 이 방법 추천

 

 


  1. No Image 16Oct
    by DDART
    2013/10/16 by DDART
    Views 20656 

    Windows 8 시작버튼 달기

  2. No Image 14Oct
    by DDART
    2018/10/14 by DDART
    Views 4983 

    Windows 7, 8.1 에서 Windows 10으로 무료업그레이드하기

  3. No Image 11Dec
    by DDART
    2017/12/11 by DDART
    Views 2111 

    vsftpd 설정

  4. No Image 21Jan
    by DDART
    2020/01/21 by DDART
    Views 3534 

    Visual Studio Code 에서 Autohotkey 설정

  5. VBA Project 패스워드 보호 제거하기

  6. No Image 07Aug
    by DDART
    2013/08/07 by DDART
    Views 25664 

    usb download tool - 32bit 운영체제에서 64bit 운영체제 usb 부팅디스크 만들기

  7. No Image 08Jul
    by DDART
    2013/07/08 by DDART
    Views 22482 

    Ubuntu Mail Server 구축하기

  8. No Image 08Jul
    by DDART
    2013/07/08 by DDART
    Views 22551 

    Ubuntu 12.04 Desktop 초기 설치

  9. No Image 29Jul
    by DDART
    2020/07/29 by DDART
    Views 2118 

    svn 서버 사이 동기화

  10. No Image 01Aug
    by DDART
    2020/08/01 by DDART
    Views 2034 

    postfix 에서 mysql 오류

  11. No Image 31Oct
    by DDART
    2018/10/31 by DDART
    Views 14054 

    PHP로 WOL Magic Packet 보내기

  12. No Image 03May
    by DDART
    2023/05/03 by DDART
    Views 982 

    mysql/mariadb 손상된 inno db 복구

  13. No Image 08Jul
    by DDART
    2013/07/08 by DDART
    Views 22666 

    MYSQL 덤프파일 입력

  14. No Image 17May
    by DDART
    2020/05/17 by DDART
    Views 3269 

    msinfo 시스템정보 wmic cmd 명령

  15. MariaDB 외부접속시 ssl 사용법, 그리고 ssl 로 replication(동기화) 하기

  16. No Image 08Jul
    by DDART
    2013/07/08 by DDART
    Views 22596 

    KimsQ RB IIS + PM 설치문제 해결

  17. No Image 10Jul
    by DDART
    2013/07/10 by DDART
    Views 22169 

    Javascript reformatter

  18. No Image 20Nov
    by DDART
    2013/11/20 by DDART
    Views 21217 

    hMailServer 국가별 접속허용, 차단법

  19. No Image 11Jun
    by DDART
    2019/06/11 by DDART
    Views 313903 

    Fail2Ban 설정하기

  20. No Image 08Sep
    by DDART
    2017/09/08 by DDART
    Views 8384 

    crontab

Board Pagination Prev 1 ... 2 3 ... 4 Next
/ 4