-
mysql dump 덤프 백업 방법DB - 쿼리/MySQL(MariaDB) 2017. 11. 30. 11:21
1. 덤프 백업 하기
mysqldump -u 사용자아이디 -p 데이터베이스명 테이블명 > 파일명
예) mysqldump -ukamkami -p mydatabase > kamkami.pe.kr.sql
이렇게 하면 디비(mydatabase)를 몽땅 덤프를 뜨게된다.
테이블만 덤프를 뜨고 싶다면
mysqldump -u 유저명 -p 데이터베이스명 테이블명 > 파일명
예) mysqldump -u kamkami -p mydatabase member_table > kamkami.pe.kr.member_table.sql
이렇게 하면 테이블만 덤프를 뜰 수 있다.
2. 복구하기
mysql -u 유저명 -p 데이터베이스명< 파일명
예) mysql -u kamkami -p < kamkami.pe.kr.sql
예) mysql -u kamkami -p mydatabase < kamkami.pe.kr.member_table.sql
1.특정 db의 특정 table에서 원하는 값만 덤프받기
>> edu라는 디비에 a,b,c라는 테이블이 있다. 여기서 a라는 테이블에서 no가 7번이상이고 10번
이하인 값만 덤프를 받고자 한다. 어떻게 하겠는가?
여기서 사용되는 옵션은 -w 이다.그럼 위 질문의 sql문은 아래와 같다
mysqldump -u 유저명 -p 데이터베이스명 a -w'no=>7 and no=<10' > 파일명
mysqldump -u mysql_admin -p edu a -w'no=>7 and no=<10' > edu_a_cond.sql
위와같이 하면 no가 7~10번까지가 덤프될것이다.
위에서 조건문은 -w 다음에 싱글쿼테이션으로 묶어준다. sql에서 사용하는 조건문이 다 될듯싶
단, 모두 테스트를 해보진 않았다.
2.디비 스키마(Schema)만 백업받기
>>초기에 작성해 놓은 테이블 스키마가 없을때 어떻게 하겠는가?
만약 하나의 테이블이라면 desc 해서 일일이 다 삽질을 하면 되것지만 만약 테이블이 100개라면 이럴때 사용하는 mysqldump옵션 -d 있습니다.
!.edu라는 디비의 모든 테이블 스키마를 백업받으려면
mysqldump -u 유저명 -p -d 데이터베이스명 > 파일명
mysqldump -u mysql_admin -p -d edu > edu_db.sql
!.edu라는 디비의 a라는 테이블 스키마를 백업받으려면
mysqldump -u 유저명 -p -d 데이터베이스명 테이블명> 파일명mysqldump -u mysql_admin -p -d edu a> edu_a_table.sql
2017. 12. 14 내용추가
SQLoyg 덤프할 때 설정창 한글
'DB - 쿼리 > MySQL(MariaDB)' 카테고리의 다른 글
SQLyog 툴 단축키 목록 (0) 2017.11.30 MySQL-백업-및-복구 (0) 2017.11.14 (MySQL) 최근 글 5개 불러오기 (0) 2017.06.13