MySQL µ¥ÀÌÅ͸¦ º¹±¸ÇÏ°í ½Í½À´Ï´Ù.

amplifier   
   Á¶È¸ 23767   Ãßõ 0    

홈페이지 서버의 Main 하드가 물리적인 베드섹터가 발생해서, 
새로운 컴퓨터에 서버를 구축하고 있습니다.

저는 홈페이지의 홈짜도 몰랐던 사람이라..
MySQL에서 data백업을 할 생각도 없이
raw파일들만 쭉 백업해 왔는데요,

이 raw data를 가지고 MySQL에 맵핑하기 위해서는 어떤 방법을 해야할까요
인터넷에 나온 내용들은 조금 어려운거 같아서 여기에 글을 적어봅니다.

첫 번째 방법은 아래와 같네요.

바이너리 로그를 활성화 해 두었을 경우에만 바이너리 로그가 쌓이므로 주의.


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에 다시 불러올 때, 저장했었던 데이터의 변수 이름이 필요할거 같은데 
이걸 모르더라도 복구가 가능할까요?

안녕하세요
ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
±èȲÁß 2014-12
¾îÂ÷ÇÇ ´Üµ¶ ¼­¹ö´Ñ±î
Á¤¼® ¹«½ÃÇÏ°í °¡Àå °£´ÜÇÑ º¹±¸ºù¹ý ¾Ë·Á µå¸³´Ï´Ù.

À¥¼Ò½º ±×´ë·Î ÀÌÀü
MysqlÀ» ½Å ¼­¹ö¿¡ ¼³Ä¡ÈÄ
±¸ ¼­¹öÀÇ mysql Æú´õ³» data°¡ µé¾îÀÖ´Â(¿¹½Ã /var/mysql) Æú´õ¸¦ ±×´ë·Î ·ÎÄ÷Πº¹»ç
»õ·Î ¼³Ä¡ÇÑ mysqlÆú´õ³» data¸¦ º¹±¸ÇÒ(¿¹½Ã /var/mysql)Æú´õ¿¡ ±×´ë·Î µ¤¾î¾²±â
³¡...^^

ÀÌ»ó ½ß Ãʺ¸ÀÚ¿ë µðºñ º¹±¸ ¹æ¹ý ÀÔ´Ï´Ù....^^
°û¼øÇö 2014-12
´ýÇÁµÇÁö ¾ÊÀº ÆÄÀÏÀ̶ó¸é ȲÁß´Ô ¸»¾¸Ã³·³ ´Ù¸¥ ¼­¹ö¿¡ °°Àº ¹öÀüÀÇ MySQLÀ» ¼³Ä¡ÈÄ µ¤¾î¾²±â°¡ ÆíÇÒ °Í °°³×¿ä.
¼ÛÁøÇö 2014-12
±×³É rowÆÄÀÏ ÀÚü°¡ sql ±¸¹®ÀÚü´Ï±ñ ¼ø¼­´ë·Î ½ÇÇàÇÏ¸é ¿ø·¡ DBµÇ¿ä ¼Ò¸®ÀΰŠ°°³×¿ä..
amplifier 2014-12
±×°Ô µ¤¾î ¾º¿ü´Âµ¥ µ¥ÀÌÅÍ°¡ Çϳªµµ ¾È º¸ÀÌ´õ¶ó±¸¿ä. Áö±Ý ÆдÐÀ̳׿ä.
±èȲÁß 2014-12
¹öÀüÀÌ ´Ù¸¥°æ¿ì
¾Æ¿ôÆ÷Æ® ÇÏ´Â ¹æ¹ýÀº ±âº»À¸·Î ÇÏ½Ã¸é ¾ÊµÇµíÀÌ
±âº»ÀûÀ¸·Î mysql¹öÀüºÎÅÍ È®ÀÎÇϽðí
µ¿ÀϹöÀüÀ» ¼³Ä¡ ÇϼžßÇÕ´Ï´Ù.

Àß ¸ð¸£½Ã°ÚÀ¸¸é ¿ÜºÎ¿¡ ÀÇ·ÚÇϽÉÀ»....


´Ã ÇÏ´ø »ç¶÷µé¿¡°Ô´Â ´Ü¼øÇÑ ÀÛ¾÷ÀÌÁö¸¸
óÀ½ ÇÏ´Â »ç¶÷µé¿¡°Ô´Â ¹öÀüÁ¶Â÷ È®ÀÎÀÌ ¾î·Á¿î ¹ýÀÌÁÒ.

Âü°í·Î ÀÌ·± ·ù°¡ ¸¶À̱׷¹À̼ÇÀÔ´Ï´Ù.
¼­¹ö ¸¶À̱׷¹À̼Ç.... ȣȯ¼º Å×½ºÆ®ºÎÅÍ ÀÇ¿Ü·Î ¾î·Æ±â¶§¹®¿¡
¼­¹öÀ̹ÌÁö¸¦ ¶°¼­ ´Ù¸¥ ¼­¹ö·Î ÀÌÀüÀ» ÇÏ´Â °æ¿ì´õ ¸¹ÁÒ.

±âÁ¸ ¼­¹öÀÇ ÇÁ·Î±×·¥°ú Ä¿½ºÅÒ ¼ÂÆÃÀ» ±×´ë·Î ÇØÁشٴ°͵µ ½±Áö ¾ÊÀ»¶§°¡ ¸¹°Åµç¿ä.
     
amplifier 2014-12
±èȲÁß´Ô ½Å°æ½á Áּż­ °¨»çµå¸³´Ï´Ù.
Áö±Ý ¿ÜºÎ¿¡ ÀÇ·ÚÇؼ­ µ¥ÀÌÅ͸¦ ÃßÃâÇغ¸·Á°í ÇÕ´Ï´Ù.
À̹ø ±âȸ¿¡ °øºÎÁ» Çغ¸¾Æ¾ß °Ú³×¿ä.

°¨»çÇÕ´Ï´Ù.


QnA
Á¦¸ñPage 2936/5687
2014-05   4991150   Á¤ÀºÁØ1
2015-12   1527136   ¹é¸Þ°¡
2015-06   4962   ¿ËµåÄÄ
2014-08   4962   ȸ»ó2
2007-02   4962   ÀÓÁ¾¿­
2007-05   4962   °û¼±È£
2007-09   4962   ¹ÚÇö¼ö
2006-03   4962   ±è»óÇö
2008-08   4962   Á¤ÀºÁØ
2009-04   4962   ±â¿µ
2008-08   4962   ½ÅÁø¿ì
2011-11   4962   1¹ø°¡
2015-04   4962   ÇÏ»ó¿í
2007-05   4962   ±è½ÂÇÑ
2007-12   4962   ¾çÈ¿¼·
2018-04   4962   Àü¼³¼ÓÀǹ̡¦
2007-05   4962   À±È£¿ë
2019-08   4962   ÀÌ¿øÀçK
2007-10   4962   À±È£¿ë
2011-09   4962   ¾Æ¸§´Ù¿î³ëÀ»
2015-06   4962   ±èÁØÀ¯
2016-11   4962   ÄĹÚ