바이너리 로그를 활성화 해 두었을 경우에만 바이너리 로그가 쌓이므로 주의.
DB작업전 반드시 data를 백업 후 작업을 진행하자.
# cp -arp /usr/local/mysql/data /usr/local/mysql/data_bak_100406
mysql data 폴더를 보면
mysql-bin.000001
mysql-bin.000002
mysql-bin.000003
mysql-bin.000004, ...... 등의 파일이 있다.
mysql 을 설치하고 부터 실행하는 모든 명령어들(create, update, delete, alter 등) 이 기록에 남는데
이러한 기록을 이용하여 현재까지의 DB를 재작성 할 수 있다.
문제발생 시간을 확인하여 그 전 시간까지만 복구를 하면 된다.
1. mysql 바이너리 로그 파일 확보
# mkdir /usr/local/src/mysql_bin_repair
# cp -arp /usr/local/mysql/data/mysql-bin.0* /usr/local/src/mysql_bin_repair
# cd /usr/local/src/mysql_bin_repair
2. mysql 쿼리문 추출
# /usr/local/mysql/bin/mysqlbinlog -d neulwon -s mysql-bin.000001 > mysql-bin.000001.sql
# /usr/local/mysql/bin/mysqlbinlog -d neulwon -s mysql-bin.000002 > mysql-bin.000002.sql
# /usr/local/mysql/bin/mysqlbinlog -d neulwon -s mysql-bin.000003 > mysql-bin.000003.sql
# /usr/local/mysql/bin/mysqlbinlog -d neulwon -s mysql-bin.000004 > mysql-bin.000004.sql
[옵션 설명]
-d DB명 : 바이너리 로그파일에서 해당 DB에 관한 쿼리만 추출
-s : 주석처리된 내용은 추출대상에서 제외합니다.
3. DB 삭제 및 복구
위와같이 문제발생 시간 전까지의 모든 바이너리 로그를 새로운 파일로 생성
생성된 *.sql 파일을 vi 로 열어보면 create database 에서부터 지금까지의 쿼리문이 기록되어 있다.
# mysql -p
Enter password: (mysql root 패스워드 입력)
기존에 복구하고자 하는 DB가 있을 경우 복구가 되지 않으니 해당 DB를 삭제. ( 미리 백업을 다시 해두는것이 안전)
mysql> drop database Test;
이제 아래와 같이 쿼리추출파일을 실행하여 data를 생성한다.
mysql> \. mysql-bin.000001.sql
mysql> \. mysql-bin.000002.sql
mysql> \. mysql-bin.000003.sql
mysql> \. mysql-bin.000004.sql
작업이 완료되면, select 명령어를 이용하여 해당 DB에 데이타가 정상 입력되었는지 확인.
Á¤¼® ¹«½ÃÇÏ°í °¡Àå °£´ÜÇÑ º¹±¸ºù¹ý ¾Ë·Á µå¸³´Ï´Ù.
À¥¼Ò½º ±×´ë·Î ÀÌÀü
MysqlÀ» ½Å ¼¹ö¿¡ ¼³Ä¡ÈÄ
±¸ ¼¹öÀÇ mysql Æú´õ³» data°¡ µé¾îÀÖ´Â(¿¹½Ã /var/mysql) Æú´õ¸¦ ±×´ë·Î ·ÎÄ÷Πº¹»ç
»õ·Î ¼³Ä¡ÇÑ mysqlÆú´õ³» data¸¦ º¹±¸ÇÒ(¿¹½Ã /var/mysql)Æú´õ¿¡ ±×´ë·Î µ¤¾î¾²±â
³¡...^^
ÀÌ»ó ½ß Ãʺ¸ÀÚ¿ë µðºñ º¹±¸ ¹æ¹ý ÀÔ´Ï´Ù....^^
¾Æ¿ôÆ÷Æ® ÇÏ´Â ¹æ¹ýÀº ±âº»À¸·Î ÇÏ½Ã¸é ¾ÊµÇµíÀÌ
±âº»ÀûÀ¸·Î mysql¹öÀüºÎÅÍ È®ÀÎÇϽðí
µ¿ÀϹöÀüÀ» ¼³Ä¡ ÇϼžßÇÕ´Ï´Ù.
Àß ¸ð¸£½Ã°ÚÀ¸¸é ¿ÜºÎ¿¡ ÀÇ·ÚÇϽÉÀ»....
´Ã ÇÏ´ø »ç¶÷µé¿¡°Ô´Â ´Ü¼øÇÑ ÀÛ¾÷ÀÌÁö¸¸
óÀ½ ÇÏ´Â »ç¶÷µé¿¡°Ô´Â ¹öÀüÁ¶Â÷ È®ÀÎÀÌ ¾î·Á¿î ¹ýÀÌÁÒ.
Âü°í·Î ÀÌ·± ·ù°¡ ¸¶À̱׷¹À̼ÇÀÔ´Ï´Ù.
¼¹ö ¸¶À̱׷¹À̼Ç.... ȣȯ¼º Å×½ºÆ®ºÎÅÍ ÀÇ¿Ü·Î ¾î·Æ±â¶§¹®¿¡
¼¹öÀ̹ÌÁö¸¦ ¶°¼ ´Ù¸¥ ¼¹ö·Î ÀÌÀüÀ» ÇÏ´Â °æ¿ì´õ ¸¹ÁÒ.
±âÁ¸ ¼¹öÀÇ ÇÁ·Î±×·¥°ú Ä¿½ºÅÒ ¼ÂÆÃÀ» ±×´ë·Î ÇØÁشٴ°͵µ ½±Áö ¾ÊÀ»¶§°¡ ¸¹°Åµç¿ä.
Áö±Ý ¿ÜºÎ¿¡ ÀÇ·ÚÇؼ µ¥ÀÌÅ͸¦ ÃßÃâÇغ¸·Á°í ÇÕ´Ï´Ù.
À̹ø ±âȸ¿¡ °øºÎÁ» Çغ¸¾Æ¾ß °Ú³×¿ä.
°¨»çÇÕ´Ï´Ù.