DB dump의 개념 및 백업/복구 방법

dump란

dump는 대상데이터를 insertquery로 바꿔서 저장하는 방법입니다.

쉽게 말하면 현재 DB상태를 저장하고 불러오는 기능을 가진 툴입니다.

 

File백업의 경우 DBFile전체를 압축이나 복사를 이용하여 보관하는 방법이 있습니다.

 

dump의 경우 insert문으로 치환되기 때문에 DBMS나기타버전문제에 문제에 크게 영향을 받지 않습니다.

File백업의 경우동일한버전의 같은 DBMS에서만 사용이 가능합니다.

 

dump저장방법

명령어

mysqldump -h DB 호스트의 이름 또는 IP -u DB사용자의이름 -p 데이터베이스 이름 > db_backup.sql

"-h":

데이터베이스입니다.

전체호스트이름(예:myhost.domain.com)또는 IP주소가 될 수 있습니다.

MySQL서버와 동일한 호스트에서 이스크립트를 실행하는 경우가 입력란을 비워둘 수도 있습니다.

"-u":

사용자이름 입니다.

"-p":

MySQL설치가 적절히 보안되어 있다면, 암호연결. 인수가 없는 이 플래 그는 명령을 실행할 때암호를 묻습니다.

때로는 백업스크립트와 같이이플래그의 인수로 직접 암호를 제공하는 것이 유용합니다.

그러나 누군가가 컴퓨터에 액세스 할 수 있게 되면 명령기록에서 이 암호를 얻을 수 있기 때문에 프롬프트 하지 말아야 합니다.

"> db_backup.sql":

이 마지막 부분은 mysqldump 모든 출력을 하나의 파일로 보낼 수 있습니다.

일반적으로 이 명령은 모든 것을 콘솔에 직접 출력하므로많은SQL문이표시되는 것을 볼 수 있습니다.

그러나 대신 ** 기호는 모든 것들을 이름이지 정 된 텍스트파일로 퍼지기 위한 기호입니다.

이 파일이 없으면 자동으로 생성됩니다.

 

dump 저장과정

1)mysqldump-uroot-p--all-databases> mysqldump_201110.sql

->root계정으로 모든 db, data를 dump 하고, mysqldump_201110.sql이라는 파일을 만듭니다.

2) mysqldump-uroot-p--all-databases--no-data> mysqldump_201110.sql

->모든 db를 dump 하는데, data 없이 table만 dump 합니다. DDL만 dump를 합니다.

DDL명령어:CREATE, DROP, TRUNCATE, ALTER

3) mysqldump-uroot-p {DB명}>mysqldump_201110.sql

->특정 db만 dump 합니다

4)mysqldump-uroot-p--no-create-info {DB명}>mysqldump_201110.sql

->CREATE쿼리를 제외하고 dump를 합니다.

즉, data만 dump 합니다.

 

이외에도 많은 종류의 옵션들이 있습니다.

dump로드방법

mysql-uroot-p {DB명}<mysqldump_201110.sql

dump를 한 sql파일을 DB에 넣습니다.

->DB를 새로 설치한 상태에서 sql을 넣으면 에러가 뜰 수 있습니다.

이럴 경우에는 DB를 생성한 후, dump를 불러옵니다.

 

https://papababo.tistory.com/entry/mysql-mariaDB-dump-export-import-%ED%95%98%EA%B8%B0