Linux/Windows 下MySQL定时按日期备份数据

一、使用mysql内置命令 mysqldump

Usage:
mysqldump [OPTIONS] database [tables]
mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
mysqldump [OPTIONS] --all-databases [OPTIONS]

可以看到能备份全部的数据库,指定的数据库,指定数据库中的表

mysqldump -uUsername -pPassword Database > /var/backup/mysql/database.sql


二、按日期备份

mysqldump -uUsername -pPassword Database > /var/backup/mysql/database-`date +%Y%m%d`.sql

`date +%Y%m%d` 利用了shell的知识,先执行,得到格式化的日期

vim /var/backup/backup-mysql.sh

把上面的内容存到文件中

chmod +x backup-mysql.sh

加上可执行权限


三、定时备份

使用系统的crontab

crontab -e

# m h  dom mon dow   command
0 3 * * * /var/backup/backup-mysql.sh


时间的格式是

分 时 日 月 周

上面的例子是指定每天3点备份一次数据库


提高:

当然,还可以加上一些更好的功能,如

备份后的文件压缩一下,这个很简单

只保留最近xx天的备份文件,这个要稍微复杂一点点

使用mysql二进制增量备份……


2012/03/15日更新

以下是shell脚本:

JIRA_FILE_NAME=jira-`date +%Y%m%d`;
BBS_FILE_NAME=bbs-`date +%Y%m%d`;
MANTIS_FILE_NAME=mantis-`date +%Y%m%d`;

cd /var/backup/mysql/
mysqldump -ujira -pjira jira > ${JIRA_FILE_NAME}.sql
tar -zcvf ${JIRA_FILE_NAME}.sql.tar.gz ${JIRA_FILE_NAME}.sql
rm -rf ${JIRA_FILE_NAME}.sql

mysqldump -ubbs -pbbs bbs > ${BBS_FILE_NAME}.sql
tar -zcvf ${BBS_FILE_NAME}.sql.tar.gz ${BBS_FILE_NAME}.sql
rm -rf ${BBS_FILE_NAME}.sql

mysqldump -umantis -pmantis mantis > ${MANTIS_FILE_NAME}.sql
tar -zcvf ${MANTIS_FILE_NAME}.sql.tar.gz ${MANTIS_FILE_NAME}.sql
rm -rf ${MANTIS_FILE_NAME}.sql


2016/09/23更新

Windows下备份非常帅的版本:关键看日期

set DATE=%date:~0,4%_%date:~5,2%_%date:~8,2%
d:\mysql-5.7.13-winx64\bin\mysqldump -ufeibiao -pfeibiao feibiao > e:\backup\feibiao_%DATE%.sql  



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值