티스토리 뷰

코니79 IT 정보

mysql 디비 덤프(dump) 백업 작업

코니79 코니와함께 2018.03.30 20:12
주기적으로 덤프를 받거나 문제가 발생하여 데이터를 백업을 받아야 하는경우가생깁니다.

 $> mysqldump -u[사용자아이디] -p 데이터베이스명 [테이블명] > 저장될 파일명 예) mysqldump -u connie  -p mydatabase > backupfile.sql 이렇게 디비(mydatabase)를 백업을 받으시면 되요.간단하죠.

하지만 특정테이블만 받고 싶거나 받아야할때가 가끔생기죠.그럴때 예제입니다.
 mysqldump -u connie -p mydatabase 백업받으실테이블명 > backuptabl.sql
해당명령어 날리시면 지정한 테이블만 덤프 뜰수 있게되는겁니다.간단하시죠?
그럼 이런 덤프파일 Export하셨다면 복구를 해봐야겠죠.명령어는 간단하니 살펴보시죠.
 $> mysql -u connie -p mydatabase < 백업팓은.sql 1.특정 db의 특정 table에서 원하는 값만 덤프받기 >> connie라는 디비에 a b  c 라는 테이블이 있다. 여기서 a라는 테이블에서 no가 2번이상이고 7번 이하인 값만 덤프를 받고자 한다. 이럴경우가 과연 없다고 생각하세요? 여기서 사용되는 옵션은 -w 이다.그럼 위 질문의 sql문은 아래와 같다 mysqldump -u mysql_admin -p 테이블 a -w'필드=>2 and no=<7' > 덤프파일.sql 위와같이 하면 필드가 2~7번까지가 덤프될것이다. 위에서 조건문은 -w 다음에 싱글쿼테이션으로 묶어준다. sql에서 사용하는 조건문을 결국추가해서 원하는 데이터만 디비에넣을 수 있을겁니다.

2.디비 스키마(Schema)만 백업받기 >>초기에 작성해 놓은 테이블 스키마가 없을때 어떻게 하겠는가? 만약 하나의 테이블이라면 desc 해서 일일이 다 삽질을 하면 되것지만 만약 테이블이 100개라 면 ..크억...이럴때 사용하는 mysqldump옵션이 있습니다. -d 입니다. !.testdb라는 디비의 모든 테이블 스키마를 백업받으려면 mysqldump -u mysql_admin -p -d testdb> 백업파야.sql !.teatdb라는 디비의 a라는 테이블 스키마를 백업받으려면 mysqldump -u mysql_admin -p -d  teatdb a> 백업테이블저장.sql
DBA가있거나 인프라팀이 있다면 좋겠지만.그렇지 않은곳이 상당합니다.즐코딩 하세요.
댓글
댓글쓰기 폼
광고위치
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
87,123
Today
43
Yesterday
200
링크
«   2018/12   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
글 보관함