[MySQL] mysqldump로 DB 백업하기
mysql 데이터베이스 백업시 mysqldump를 이용합니다. 개발자들이 사용하는 Workbench나 HeidiSQL 같은 툴에서 백업하는것 역시 mysqldump를 실행하는 것입니다.
전체 데이터베이스를 한 sql파일에 백업하는 것이 가장 간단하지만, 서버 용량 문제로 분할백업을 진행해야하는 경우가 생깁니다. 분할백업 진행 전 테이블별 용량 확인도 가능합니다.
SELECT
table_name,
table_rows,
round(data_length/(1024*1024), 2) as 'DATA_SIZE(MB)',
round(index_length/(1024*1024), 2) as 'INDEX_SIZE(MB)'
FROM information_schema.TABLES
where table_schema = 'databasename'
GROUP BY table_name
ORDER BY data_length DESC
LIMIT 10;
아래 명령어를 통해 특정 테이블 백업이 가능합니다.
mysqldump -u root -p databasename tablename > tablename.sql
아래 명령어를 통해 데이터 structrue 백업이 가능합니다.
mysqldump -u root -p database --no-data > data_structure.sql
특정 테이블 백업시, 반복작업이 많아 아래와 같은 쉘스크립트를 만들어 테이블백업 자동화하였습니다.
#!/bin/bash
table=$1
mysqldump -u root -p databasename $table > $table.sql
출처: https://12bme.tistory.com/30?category=682920 [길은 가면, 뒤에 있다.]
'Database > mysql' 카테고리의 다른 글
[MySQL] 프로시저(스토어드 프로그램)의 장단점 (0) | 2020.07.30 |
---|---|
[MySQL] MySQL 파티션 제약사항 (0) | 2020.07.30 |
[MySQL] MySQL 파티션 개요 (0) | 2020.07.30 |
[MySQL] SELECT 결과물을 파일로 저장하기. (0) | 2020.07.30 |
[MYSQL]mysqldump 백업 (0) | 2020.07.13 |
[MYSQL]MySQL 5.5.x Semisynchronous Replication (이중화백업) (0) | 2020.07.13 |
[MYSQL]MySQL 5.5.x Replication(MySQL 5.6 이중화) (0) | 2020.07.13 |
[MYSQL]테이블 카운트, rows (0) | 2020.07.13 |