|
MySQL在中小型企业中广泛使用,下面的脚本可用于生产环境中的完全备份。 备份方案:每天凌晨1点30分进行完全备份,并保留30天的备份数据(可打开二进制日志,用于增量备份和恢复) 具体步骤如下:
1 在数据库服务器上建立备份用户 mysql> grant select,lock tables on bbs.* to 'backupmysql'@'192.168.154.160' identified by 'backupmysql'; mysql>flush privileges;
2 从备份主机中测试数据库备份(MySQL服务器需要开放3306的端口) mysqldump -ubackupmysql -pbackupmysql -h 192.168.154.162 --databases bbs > bbs.sql
3 编写备份脚本(在备份主机上) cd /data/script/ vim mysqlbackup.sh #!/bin/bash #Name: backupmysql #Date: 2017-03-04 #Author:zwj #Mail:2222222@qq.com #Function: mysqlbackup #Version:1.1 MYUSER="backupmysql" MYPASS="backupmysql" MYSQLHOST="192.168.154.162" MYCONN="-u$MYUSER -p$MYPASS -h $MYSQLHOST" MYDB="bbs" MYDST="/data/backup/" MYCMD="/usr/bin/mysqldump" MYTIME=$(date +%F) NAME="$MYDB-$MYTIME" cd $MYDST $MYCMD $MYCONN --databases $MYDB > $NAME.sql /bin/tar zcf $NAME.sql.tar.gz $NAME.sql --remove &> /dev/null find $MYDST -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;
4 设置定时任务 crontab -e */30 1 * * * /data/script/mysqlbackup.sh
|