database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29409 게시물 읽기
No. 29409
mysql 사용하고 있는데 innodb 백업을 정확하게 하려면 어떻게 해야 하나요?
작성자
윤민호
작성일
2009-11-20 10:54
조회수
7,820

mysql 5 버전 사용하고 있습니다. 


몇일전에 innodb 로 사용하고 있던 데이타를 복구하려고 하는데 


어렵더라구요. 


첨에는 계속 에러나서 db서버가 메모리가 부족해지고 서비스를 계속 할 수가 없게 되었는데요. 


물론 복구를 잘 못한 케이스구요. 


겨울 살리긴 했는데.. 


innodb 사용하는 테이블이 여러개 데이타베이스에 분산되있는 상황입니다. 


특정 테이블 하나만 복구하려면 어덯게 하는게 좋을까요? 



그리고 mysql 에 대한 백업 솔류션(무,유료)으로는 뭐가 좋을까요? 


백업이 특히 디비 백업이 어려운것 같아요. 


조언 부탁드립니다.

이 글에 대한 댓글이 총 2건 있습니다.




mysql 은 백업 솔루션이 좋은게 없습니다. ㅠㅠ 아쉽죠..


innodb 는 백업전에 flush log를 해주셔야 됩니다.

따라서 mysqldump 받으실때


./mysqldump -uroot -p --flush-logs --single-transaction  --all-databases > db.sql

을 해주셔야 됩니다.


그리고 특정 테이블 복구를 하실려면 binlog 이용하셔서 시점 복구 하시면 되겠네요..

민족님이 2009-11-20 15:20에 작성한 댓글입니다. Edit

innodb hot backup으로 검색해보시면, 상용 백업 도구들을 찾아보실 수 있습니다.

innodb 백업을 mysqldump등을 통해서 text 백업을 하셨다면, 아래와 같은 명령으로 특정 데이터만 추출하실 수 있습니다.

 

> grep 'INSERT INTO `테이블이름`' 백업파일.sql > output.sql

이후에 특정 테이블의 구조만 만들어 주신 후에,

> mysql [복원DB] < output.sql

로 복원해주시면 되겠습니다.

 

저도 몇가지 경우에 특정 테이블만 복원하는 것이 어려웠고, 또한 mysqldump로 백업받은 텍스트 데이터를 복원하는 과정이 지나치게 오래 걸려, 바이너리 레벨에서 백업하는 것을 선호하고 있습니다. ( 물론 MyISAM테이블에서의 얘기입니다 ^^; )

박현우(lqez)님이 2009-11-24 12:15에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29417db설계질문 드립니다..
이문현
2009-11-23
5433
29413원하는 기간만큼 날짜조회
박종선
2009-11-22
6501
29410php에서 mysqli 를 사용하려고 할때 컴파일만이 해결책인가요? [1]
강경섭
2009-11-20
5633
29409mysql 사용하고 있는데 innodb 백업을 정확하게 하려면 어떻게 해야 하나요? [2]
윤민호
2009-11-20
7820
29407mysql_install_db 시 에러 [1]
이길용
2009-11-18
7121
29406학교 시간표 DB 쿼리 관련 자세한 질문입니다. [1]
김성대
2009-11-18
6632
29405mysql log를 로그로테이션 하려하는데 별 문제 없을까요? [1]
박찬영
2009-11-17
5862
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다