태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

참 오랜만에 글을 적는 것 같으다..

오늘은 팀장님이 안 쓰는 데이터베이스 백업해 놓고 지우라고 하셔서

mysqldump 를 써서 백업을 받으려고 한다..

데이터가 3100만건이니, 내 개인서버에서 테수트 해보고 새벽에 일찍 나와서 지워야지 ㅋㅋ

일단 내 서버에서 mysqldump 요렇게 쳐보니 ..

[root@kjsic2 ~]# mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help

옵션적고, 데이터베이스적고, 테이블적으면 된다고 되 있다.. 몰옵션을 원하면 --help 를 치라고 한다..

근데 쳤더니 ㅜㅜ 정말 한없이 나온다. 필요한것만 정리해 놔야겠다...

[root@kjsic2 ~]# mysqldump -u root -p -A >backup1.sql

가장 기본적인 백업이다..

-u 는 뒤에 유저명,

-p 패스워드

-A 전체패스워드 의미

> backup1.sql : 백업1.sql 에 저장해라..

: 전체백업을 의미한다.. 현재 db 에 저장된 모든 것을 저장하라는 의미 ..

[root@kjsic2 ~]# mysqldump -u root -p test >backup2.sql

나머지는 앞과 동일하고

test 라는 이름의 데이터베이스를 백업해라!

[root@kjsic2 ~]# mysqldump -u root -p test test_20110427 >backup3.sql

이 명령어는 test 라는 이름의 데이터베이스의

test_20110427 이라는 이름의 테이블을 백업하라는 의미이다..

[root@kjsic2 ~]# mysqldump -u root -p -d test test_20110427 >backup3.sql

데이터를 제외하고 DDL 스키마만 백업한다.

[root@kjsic2 ~]# mysqldump -u root -p -t test test_20110427 >backup3.sql

데이터만 백업한다.

[root@kjsic2 ~]# mysqldump -u root -p --lock_all_tables test test_20110427 >backup4.sql

덤프받는 동안에 DB접근을 금지시킨다.

[root@kjsic2 ~]# mysqldump -u root -p --add-locks test test_20110427 >backup4.sql

백업할때 항상 느끼는 거지만 전회사에서 사건 터진게 자꾸 기억에 남는다...

데이터가 약 천만건 되는 데이터를 크론을 이용해서 매일 백업을 받았었는데 ..

새벽4시에 항상 로드에버리지 (load average) 가 자꾸 치는 것이다...

그것만 그러면 상관없는데 ... 백업이 되는 사이에 데이터가 누락이 되거나 중복해서 들어가는 것이었다...

근데 알고 보니 문제가.. --add-locks 때문이었다... 해당옵션은 덤프전에 대상에 대해 lock 을 걸어놓고

덤프후에 unlock 을 시켜서 문제가 발생했었다...

서비스가 진행되고 있을 때는 --add-locks 옵션금지!

옵션만 또 주르륵 나열된거 나타내주고 마무리하자!!

'프로그래밍 > php' 카테고리의 다른 글

Mysql table의 AutoIncrement 값을 가져오기  (0) 2013.07.09
ORACLE, MSSQL, MYSQL 날짜함수 비교  (0) 2012.08.08
php 한글 연동 시 한글 깨짐현상 복구법  (0) 2012.07.06
php Ajax 한글 처리  (0) 2012.04.20
mysqldump 사용하기  (0) 2012.04.18
PHP 설정 파일  (0) 2012.04.17
블로그 이미지

구본숭 하늘을사랑한사람

진실된 사람으로 태어 나기 위한 조건들, 사랑하기 위해 필요한 것을 찾습니다.