728x90
[정리] MySQL Data 백업 방법 및 복구 방법
MySQL 데이터를 백업하는 방법에는 물리적인 백업과 논리적인 백업이 있다.
ㅇ 물리적 백업
- MySQL 데이터가 기록되는 폴더를 통째로 압축해서 백업한다. (속도가 빠르며 작업이 단순)
- 복구할 때는 MySQL 데몬을 정지시키고 해당 폴더에 압축을 푼다.
ㅇ 논리적 백업
- 리눅스에서 기본 제공하는 mysqldump를 이용하는 방법
- phpmyadmin 을 이용하는 방법
- 기타 툴을 이용하는 방법
등이 있다.
논리적 백업을 하면 문제 발생시 원인 파악및 해결하기가 수월한데 복구 시간이 상당 소요될 수 있다.
1. 리눅스 상에서 mysqldump를 이용한 백업
mysqldump 로 SQL문을 갖는 텍스트 파일을 생성하는 것이다.
※ 설정한 패스워드에 따라서 -p 다음에 바로 패스워드를 입력하면 적용되지 않는 경우가 있다.
그래서 -p 만 입력하고 실행하면 패스워드를 물어보고 패스워드 입력하면 백업이 잘 된다.
# mysqldump -u [사용자아이디] -p DB명 [테이블명] > 저장될 파일명
예) mysqldump -u root -p mydatabase > kimsqrb.sql
// DB(mydatabase)를 몽땅 덤프를 뜨게된다. mydatabase 는 실서버에 존재하는 데이터베이스 이름이어야 한다.
# mysqldump -u [userId] -p --all-databases > dump.sql // 서버에 있는 모든 것의 논리 백업 생성
2. 복구하기
백업용으로 저장한 SQL 파일을 가지고 복구를 하는 방법도 간단하다.
데이터 량이 많을 경우 백업하는데 속도가 엄청나게 오래 걸린다.
# mysql -u [사용자아이디] -p DB명 < 저장된 SQL 파일명
예) mysql -u jsk005 -p mydatabase < kisqrb.sql
# mysql -u root -p
mysql > passwd : 접속비밀번호 입력
mysql > use 해당DB명 // DB를 선택하지 않으면 에러가 발생함
mysql > source dump.sql
로 명령을 실행해도 복구된다.
※ 반드시 pwd 로 현재 폴더의 경로를 확인하고,
dump.sql 파일이 올려진 폴더에서 mysql -uroot -p 를 해야 한다.
※ 설정한 패스워드에 따라서 -p 다음에 바로 패스워드를 입력하면 적용되지 않는 경우가 있다.
그래서 -p 만 입력하고 실행하면 패스워드를 물어보고 패스워드 입력하면 백업이 잘 된다.
# mysqldump -u [사용자아이디] -p DB명 [테이블명] > 저장될 파일명
예) mysqldump -u root -p mydatabase > kimsqrb.sql
// DB(mydatabase)를 몽땅 덤프를 뜨게된다. mydatabase 는 실서버에 존재하는 데이터베이스 이름이어야 한다.
# mysqldump -u [userId] -p --all-databases > dump.sql // 서버에 있는 모든 것의 논리 백업 생성
2. 복구하기
백업용으로 저장한 SQL 파일을 가지고 복구를 하는 방법도 간단하다.
데이터 량이 많을 경우 백업하는데 속도가 엄청나게 오래 걸린다.
# mysql -u [사용자아이디] -p DB명 < 저장된 SQL 파일명
예) mysql -u jsk005 -p mydatabase < kisqrb.sql
# mysql -u root -p
mysql > passwd : 접속비밀번호 입력
mysql > use 해당DB명 // DB를 선택하지 않으면 에러가 발생함
mysql > source dump.sql
로 명령을 실행해도 복구된다.
※ 반드시 pwd 로 현재 폴더의 경로를 확인하고,
dump.sql 파일이 올려진 폴더에서 mysql -uroot -p 를 해야 한다.
4만개 정도되는 데이터를 넣었더니 순식간에 DB에 저장되었다.
phpmyadmin 에서 Web 업로드를 하면 Lock 이 걸리고 너무 느려서 도저히 ㅠㅠㅠ
3. phpmyadmin 상에서 백업
phpmyadmin 을 이용하면 명령어를 몰라도 쉽게 백업을 할 수 있다.
자료를 백업하는데에는 시간 별로 걸리지 않아서 자주 백업해 두어야 문제가 생길 때 복구가 가능하다.
4. phpmyadmin 으로 복구
용량이 작은 것은 phpmyadmin 에서 복구하면 편리한데 용량이 좀 큰 것은 작업하다보면 Lock 이 걸려버려서
작업하기가 쉽지 않다.
728x90
'SQL' 카테고리의 다른 글
[SQL] SELECT DISTINCT 구문 (0) | 2014.08.30 |
---|---|
MySQL 사용자 계정 패스워드 변경 (0) | 2014.08.26 |
MySQL DB 생성 및 사용자 추가, 권한 부여 ★★★★★ (16) | 2014.08.16 |
MySQL root 패스워드 설정 (0) | 2014.08.16 |
엑셀데이터를 MYSQL DB Import (Update) (1) | 2014.07.12 |