본문 바로가기
개발, IT

MySQL 백업 및 복구

by Nabi™ 2008. 9. 11.

* MySQL 설치시 configure 옵션을 --with-charset=utf8로

1. MySQL 백업

mysqldump -u [DB사용자명] -p [암호] [백업할 데이터베이스명] > [외부로 저장할 파일명]


2. MySQL 복구

mysql -u [DB사용자명] -p [암호] [복구할 데이터베이스명] < [백업된 파일명]


3. 백업 스크립트

3.1 모든 데이터 베이스 백업

#!/bin/bash

to_dir="/backup/"
today=`date +%Y%m%d`
tmp_dir="${to_dir}${today}/"
A=`echo "show databases" | mysql -u root -pshell | grep -v Database`
mkdir ${tmp_dir}
for i in `echo $A`
do
 mysqldump ${i} -u root -p[암호] > ${tmp_dir}${i}.sql
done

tar cfz ${to_dir}${today}MySQL.tar.gz ${tmp_dir} 2>/dev/null

rm -rf $tmp_dir


3.2 따로따로 백업

#!/bin/bash

to_dir="/backup/"
today=`date +%Y%m%d`
tmp_dir="${to_dir}${today}/"

mkdir ${tmp_dir}

mysqldump --no-create-info -u root -p [암호] [DB명]> ${tmp_dir}mypc${today}.sql

tar cfz ${to_dir}${today}MySQL.tar.gz ${tmp_dir} 2>/dev/null

rm -rf $tmp_dir


4. 따로따로 백업

4.1 스키마만 따로
mysqldump --no-data --default-character-set=euckr a > a_schema.sql
mysqldump --no-data mypc > mypc_schema_utf8.sql

4.2 데이터만 따로
mysqldump --no-create-info --default-character-set=euckr a > a_data.sql
mysqldump -uroot -p --no-create-info mypc > mypc_data_utf8.sql

좋은정보가 되셨다면 아래 한번 클릭해주세요^^


댓글