详解MySQL数据库自动备份

关键词:MySQL数据库自动备份  发布日期:2013年05月31日  来源:本站原创  责任编辑:小编  热度:
     某公司有一台数据库服务器托管在IDC,为了保障数据库的安全性,需要对其做定时备份,又为了防止数据库服务器出现硬件故障,同时要求将备份数据定时传送至公司内网文件服务器上存档。

一、配置数据库服务器

1、撰写mysql自动备份脚本

mysql备份主要包括热备和冷备,在此使用热备,也就是利用mysqldump导出SQL语句的方式进行备份


#vi
/etc/mysqlback.sh

 

#!/bin/bash

DB_NAME="luwenju"    //需要备份的数据库


DB_USER="luwenju"    //数据库用户名


DB_PASS="luwenju"    //数据库密码


BIN_DIR="/usr/local/mysql/bin"    //mysql的环境变量


BACK_DIR="/opt"    //备份文件保存数据


DATE="`date  +%Y%m%d`"


$BIN_DIR/mysqldump  --opt -u$DB_USER -p$DB_PASS $DB_NAME > $BACK_DIR/luwenju_$DATE.sql

 


#chmod +x/etc/mysqlback.sh

 


测试


#/etc/mysqlback.sh

#ls /opt/

luwenju_20110626.sql

 

 

2、设置定时备份周期

本案例中设置的为每日凌晨进行备份一次,具体备份周期根据具体应用


#crontab –e

0 0 * * */etc/mysqlback.sh

#/etc/init.d/crondrestart

 


3、安装rsync

#tar zxvfrsync-3.0.8.tar.gz

#cd rsync-3.0.8

#./configure&& make && make install

创建配置文件,加入如下内容


#vi/etc/rsync.conf

 

uid = nobody

gid = nobody

use chroot =  no


max connections  = 10


pid file =  /var/run/rsyncd.pid


lock file =  /var/run/rsyncd.lock


log file =  /var/log/rsyncd.log


port = 873


timeout =  300


[backup]


read only = yes  //只读模式


list = yes


ignore  errors


comment = This  is a file back


path = /opt   //需要同步的目录


auth users =  test  //验证用户


secrets file =  /etc/rsync.passwd  //验证密码路径


hosts allow =  119.232.33.246   //允许连接的客户端


创建用户、密码对应文件


# vi/etc/rsync.passwd

test:123456

# chmod 600/etc/rsync.passwd
//权限必须为600

# rsync –daemon–config=/etc/rsync.conf
//启动rsync

# echo "rsync–daemon –config=/etc/rsync.conf" >>/etc/rc.local

启动后使用netstat查看,会发现系统已启动873端口

二、设置文件备份服务器

1、安装rsync

#tar zxvfrsync-3.0.8.tar.gz

#cd rsync-3.0.8

#./configure&& make && make install

 


创建密码文件


#vi/etc/rsync.passwd

123456

#chmod 600/etc/rsync.passwd

 


测试


#rsync -vzrtopg--progress ::backup /luwenju-backup --password-file=/etc/rsync.passwd

#ls/luwenju-backup/

luwenju_20110624.sql
luwenju_20110625.sql
luwenju_20110626.sql

 


撰写脚本


#vi /etc/rsync.sh

rsync -vzrtopg--progress ::backup /luwenju-backup --password-file=/etc/rsync.passwd

#
chmod +x/etc/rsync.sh

 


2、设置同步周期

#
crontab –e

0 */6 * * */etc/rsync.sh

#
/etc/init.d/crondrestart

至此,整个备份方案实施完毕

总结


数据传输安全性:本方案采用的rsync传输,为了提高数据传输安全,可使用如scp、vpn等加密方式传输


客户端安全验证:本方案中在数据库服务器上rsync配置文件设置了客户端来源IP验证。另外,还可以在数据库服务器端架设防火墙,对来源IP地址进行验证。

联系我们
  • 在线咨询
    QQ:823836735
  • 在线咨询
    QQ:510969161
  • 在线咨询
    QQ:342128135
快速导航