일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- html5
- php 시큐어코딩
- mysql
- WebView
- android 효과음
- javascript
- Android
- curl
- 설치
- 자동 생성
- not working
- 안드로이드 gcm
- PHP
- Mail Server
- 자바스크립트
- roundcube
- 안드로이드 푸쉬
- C#
- xe
- FCM
- UML
- 우분투
- php 취약점
- dovecot
- C# IO
- 폼메일
- soundpool
- 안드로이드 푸시
- chart.js
- 안드로이드
- Today
- Total
그러냐
MySQL 특정 DB 덤프 및 복구 본문
리눅스 MySQL 특정 DB 덤프
테스트 환경
CentOS release 6.5 (Final)
MySQL 5.1.73
특정 DB 덤프 백업하기
테스트를 위해 DB에 접속하여 아래의 명령어로 testdb01 DB를 생성합니다.
> create database 생성할DB명;
추가로 앞서 생성하였던 DB에 아래의 명령어로 테이블 생성 및 확인을 합니다.
> create table 테이블명(컬럼명1 데이터타입, 컬럼명2, 데이터타입);
> show tables;
백업 명령어
특정 DB 덤프 백업 명령어는 아래와 같이 입력하시면 됩니다.
# mysqldump -u 계정 -p패스워드 DB명 > /디렉토리/파일명.sql
(p 옆에 패스워드 미입력 시 아래 사진과 같이 Enter password 에 패스워드를 입력해 줘야 파일이 생성되니다.)
특정 DB 덤프 복원 하기
특정 DB만 복원되는지 테스트를 위해 처음에 생성해두었던 testdb01 DB의 전체 테이블을 아래에 명령어의 DB명 부분만 삭제할 테이블의 DB명으로 수정한 후 삭제합니다.
마지막 줄의 명령어로 삭제가 정상적으로 된 것을 확인할 수 있습니다.
> SET @tables = NULL;
> SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables
> FROM information_schema.tables
> WHERE table_schema = 'DB명';
> SET @tables = CONCAT('DROP TABLE ', @tables);
> PREPARE stmt FROM @tables;
> EXECUTE stmt;
> DEALLOCATE PREPARE stmt;
> show tables;
복원 명령어
특정 DB 복원 명령어는 아래와 같이 입력하시면 됩니다.
# mysql -u 계정 -p DB명 < /디렉토리/파일명.sql
(아래의 사진에서 디렉토리를 따로 입력하지 않은 건 덤프 파일이 /data 디렉토리에 있기 때문입니다.)
테스트
복원을 마치면 DB 접속하여 아래의 명령어로 DB 의 테이블을 조회해보면 정상적으로 복원이 된 것을 확인할 수 있습니다.
출처 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ncloud24&logNo=221550416774
'mysql' 카테고리의 다른 글
ERROR 2006 (HY000): MySQL server has gone away Resolved 덤프 용량 에러 (0) | 2021.12.02 |
---|---|
mysql 수동 설치시 에러 mysql_install_db 실행시 bash err등 (0) | 2021.08.02 |
mysql 외부 접속시 connection locked 현상 (Unblock with 'mysqladmin flush-hosts' 에러) (0) | 2020.03.04 |
mysql 쿼리 최적화 (0) | 2019.11.04 |
[mysql] int 형식에 문자열 형식으로 넣기 (0) | 2019.08.21 |