강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

데이터베이스의 백업과 복구

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

icon01.giftitle17.gif

1. 데이터베이스 백업받기

데이터베이스의 백업의 중요성을 아무리 강조해도 지나침이 없습니다.

시스템의 갑자스런 다운이나 정전등의 사유로 인하여 예기치못한 데이터손실이 발생할 수도 있습니다.

따라서, 데이터베이스는 항상 백업을 해두어야하며, 언제든 손실된 데이터를 복구할 준비가 되어있어야만 합니다.

 

mysql에서 백업을 하는 방법은 다음과 같습니다.

mysqldump -u [DB사용자명] -p [백업할 데이터베이스명] > [외부로 저장할 파일명]

위와 같이 데이터베이스를 백업하기위해서는 mysqldump라는 명령어를 이용합니다.

 

먼저 지금껏 예를 들었던 TESTDB라는 데이터베이스를 백업해 보도록 하겠습니다.

mysqldump-TESTDB.sql.gif

이렇게 하고 나면 TESTDB_backup.sql이라는 파일이 새로 생성됩니다.

이파일에는 TESTDB를 원래대로 복원하기위한 SQL문이 가득 들어 있습니다.

참고로 백업된 TESTDB_backup.sql파일의 내용을 잠시 살펴보면 다음과 같습니다.

cat_TESTDB_backup-sql.gif

보신 바와같이 mysqldump로 백업된 sql파일에는 SQL문이 가득들어 있습니다.

보시는 바와 같이 mysqldump라는 명령어로 백업을 한다는 것은 결국 어떤 데이터베이스의 모든 테이블들을 백업한다는 의미입니다.

좀더 구체적으로는 현재 생성되어 있는 테이블들을 생성할 수 있는 SQL문과 이 테이블들에 들어갈 INSERT문들로 가득차 있습니다.

따라서, 다시 어떤 데이터베이스를 복구한다는 것은 백업된 이 SQL문들을 이용하여 테이블과 데이터들을 새로 생성해 낸다는 의미입니다.

 

2. 데이터베이스 복구하기

 

백업된 파일로 다시 복구를 할 때에는 생성된 이 파일을 유닉스 쉘프롬프트상에서 실행만 시키면 됩니다.

다음의 예와 같이 .......

restore.gif

 

참고로, mysql 백업을 할 때에는 특정 데이터베이스만을 백업받아서는 별 의미가 없습니다.

mysql데이터베이스도 함께 백업을 받아두어야 합니다.

그래야 어떤 데이터베이스들이 존재했는지를 알 수 있기 때문입니다.

유념하셔야 할 것은 MySQL전체의 데이터베이스를 백업할 때에는 반드시 mysql이라는 데이터베이스도 함께 백업해 두어야합니다.

그래야 어떤 데이터베이스가 있었나를 정확히 알 수 있기 때문이며, 어떤사용자들이 있었는지, 그리고 어떤권한들이 설정되어 있었는지를 정확히 알 수 있기 때문입니다.

 

다음과 같이......

mysqldump-mysql-sql.gif

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,033 명
  • 현재 강좌수 :  35,783 개
  • 현재 접속자 :  145 명