본문 바로가기

디비복구3

백업(Backup) 없는 MySQL 테이블 복구하기 백업은 기본인데, 가끔 뜻하지 않게 백업이 존재하는 않는 DB에서 작업하다가 실수를 할 때가 있다.순간 등줄기에 땀 한방울이 흐르는 경험을 하게 될 때, 도움이 되었으면 한다.우선 bin log가 존재를 해야 가능하다. bin log조차 없다면 깔끔하게 포기~~!!흩어져 있는 로그를 하나로 묶어 줄 수 있는 Shell을 하나 짜보자. host]# vi help.sh-------------------------------------------------------------------------------------- #!/bin/sh mysqlbinlog -d DB명 mysql-bin.000001 > help.sqlmysqlbinlog -d DB명 mysql-bin.000002 >> help.sqlmys.. 2015. 3. 23.
XtraBackup을 이용한 MySQL 백업 및 복구 이 글은 XtraBackup을 간단하게 소개한 글이고 자세한 사용법은 MySQL 원격 증분 백업 – Percona XtraBackup 이라는 글에서 다루고 있다. mysql 백업시 보통은 mysqldump를 사용합니다. 하지만 데이터가 커질수록 mysqldump로 백업한 데이터는 복구에 걸리는 시간이 길어집니다. mysql 서버를 중단시키지 않고 InnoDB 엔진도 핫백업이 가능한 도구로 XtraBackup이라는 오픈소스 프로그램이 있습니다. 소개를 보면 mysql 상용 백업 프로그램인 InnoDB Hot Backup 보다 더 많은 기능을 제공합니다. XtraBackup은 기본적으로 InnoDB와 XtraDB의 백업을 지원하지만 같이 설치되는 innobackupex 스크립트를 통해서 MyISAM 방식도 .. 2014. 7. 17.
InnoDB 테이블 손상(깨어진)시 강제 복구 MyISAM과 달리 InnoDB 테이블들은 매우 안정적이며, 왠만해서는 데이터 파일이 깨어지는 경우는 거의 경험하지 못했다.하지만, 데이터 파일이 깨어진다면 어떻게 해야 할까 ?. DBMS 벤더를 불문하고 손상된(깨어진) 데이터 파일을 복구한다는 것은 쉽지 않은 문제이며 위험도 크다.이런 비 정상적인 현상은 어느 DBMS에서나 발생할 수 있는 현상이며, 이를 위해서 우리는 데이터베이스를 그렇게 열심히 백업하고 있었던 것이다.만약, 백업마저도 복구가 안 된다면, 결국 지금의 깨어진 데이터 파일이라도 어떻게든 복구를 해야 한다.하지만, InnoDB는 myisamchk와 같은 별도의 복구 도구를 제공하지 않는다.손상된 InnoDB 테이블의 복구는 우선 MySQL을 기동시켜서 데이터를 덤프(mysqldump, .. 2014. 7. 3.