mysqldump备份脚本(全量+增量)
来源:互联网 发布:mysql分页的大概逻辑 编辑:程序博客网 时间:2024/04/28 01:42
一、须知
本篇文章的脚本主要针对mysql的InnoDB存储引擎。
InnoDB存储引擎:支持温备和热备。
使用mysqldump备份主要是对数据较少的数据库备份。
备份主要内容是:binlog日志。
二、准备
安装完mysql开启binlog日志功能,这个日志功能方便我们恢复数据,但当这些二进制的日志文件存储多的话可能会导致磁盘爆满。
同时我们也要开启expire_logs_days=7,可以定时清除过期的日志文件。
这项清除功能也可以,对我们的备份也有一定的帮助。
开启如下图的功能:
三、shell脚本
#!/bin/bash#################author:aizhen #################user=rootpasswd=000000backup_dir=/tmp/backup/ #备份数据库存放目录name_dir=$(date +%F"-%H") #以日期作为数据库的备份命名single_database=aizhenbinlog_dir=/var/lib/mysql/binlog####备份所有的数据库(每周日使用一次)#######mysql_all(){cd $backup_dir if [ $? -ne 0 ];thenmkdir -p $backup_dirficd $backup_dir$name_dirif [ $? -ne 0 ];thenmkdir -p $backup_dir$name_dirficd $backup_dir$name_dirmysqldump -u$user -p$passwd --single-transaction -R --triggers -E --master-data --flush-logs --all-databases > $backup_dir$name_dir/$name_dir.sql}####备份某个数据库#########################mysql_single(){cd $backup_dir if [ $? -ne 0 ];then mkdir -p $backup_dir fi cd $backup_dir$name_dir if [ $? -ne 0 ];then mkdir -p $backup_dir$name_dir fi cd $backup_dir$name_dirmysqldump -u$user -p$passwd --single-transaction -R --trigger -E --master-data --flush-logs --databases $single_database > $backup_dir$name_dir/$name_dir.sql}###增量备份数据库(周一到周六每天各一次)####mysql_increment(){cd $backup_dir if [ $? -ne 0 ];then mkdir -p $backup_dir fi cd $backup_dir$name_dir if [ $? -ne 0 ];then mkdir -p $backup_dir$name_dir fi cd $binlog_dirmysqladm -u$user -p$passwd flush-logscp $(ls mysql-bin.[0-9]* | head -n -1 | sort -rg | head -n 1) $backup_dir$name_dir/}$1该脚本已经测试过,可以使用。只需要设置计划任务即可。
设置计划任务:
在周五实行全备。
在周一到周六实行增量备份。
因为过期日志在七天会自动清除。
[root@node5 ~]# crontab -e
0 1 * * 0 /bin/bash /root/mysqldump.sh mysql_all >/dev/null 2>&10 1 * * 1-6 /bin/bash /root/mysqldump.sh mysql_increment >/dev/null 2>&1这里只做了全备和增量的计划任务,脚本中还有一个函数是对某些库进行备份,看各位需求咯。
阅读全文
0 0
- mysqldump备份脚本(全量+增量)
- mysqldump备份(全量+增量)方案操作记录
- [mysqldump] mysqldump全量备份+mysqlbinlog二进制日志增量备份
- Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录
- Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录
- Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录
- mysql全量、增量备份脚本
- mysql全量和增量备份脚本
- SVN全量和增量备份脚本
- MySQL 数据库备份和恢复探讨(全量mysqldump 和 增量mysqlbinlog)
- MySQL 数据库备份和恢复探讨(全量mysqldump 和 增量mysqlbinlog)
- SVN备份方式及脚本(全量备份,增量备份)
- SVN全量备份和增量备份脚本
- mysql增量、全量备份
- 关于Subversion主从备份方式的调整(全量、增量脚本)更新
- mysqldump全备和增量备份
- mysql全量备份、增量备份
- Mysql 增量备份和全量备份
- PC问题
- (翻译)提示(Input Prompt)
- Arduino使用魔术光杯
- 咨询项目实战——xlistview,侧拉菜单
- (翻译)可变形控件(Morphing Controls)
- mysqldump备份脚本(全量+增量)
- (翻译)撤消(Undo)
- (翻译)自动保存(Auto Save)
- Arduino使用TEMP 18B20模块
- Arduino使用敲击模块和光遮断
- ReentrantLock(二)Lock.unlock()分析
- Arduino使用红外避障传感器
- 【二分图多重匹配 && 最短路 && (快)最大流】POJ
- Arduino使用循迹传感器