设为首页 收藏本站
查看: 478|回复: 0

[经验分享] mysql实时增量备份 binlog日志备份

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-2-1 09:42:15 | 显示全部楼层 |阅读模式
启用binlog日志实现对数据的增量备份:
日志存储位置: /var/lib/mysql/
日志名称:主机名-bin.000001 或mysqld-bin.000001
binlog日志概述:二进制日志,记录所有更改数据的操作;默认超过500M自动生成新的日志;
修改主配置文件启用binlog日志
vim /etc/my.cnf
[mysqld]
log-bin  (或指定日志名log-bin=x.000001或者指定目录和文件名log-bin=/logdir/X.000001)
max-binlog-size=200m   (设置日志最大200m,默认为500m)
:wq
重启mysql服务,/var/lib/mysql/下会多出一个日志文件1个日志索引文件:
x-bin.000001    mysql的binlog日志文件
x-bin.index     记录当前已有的binlog日志名
mysqlbinlog是mysql日志查看专属命令

查看binlog日志文件内容: mysqlbinlog  日志文件名
binlog日志记录sql语句的方式:
1 根据字符偏移量(pos)
起始字符偏移量  --start-positon=数字
结束字符偏移量  --stop-position=数字
2 根据时间点(time)
起始时间   --start-datetime="yyyy-mm-dd hh:mm:ss"
结束时间   --stop-datetime="yyyy-mm-dd hh:mm:ss"
执行binlog日志里的sql语句恢复数据:
mysqlbinlog 选项  x-bin.000001 | mysql -uroot -p123456 [数据库名]
手动生成新的binlog日志文件方式:
1:重启mysql服务   (很少用)
2:mysql> flush logs;
3: [iyunv@A mysql]# mysql -uroot -p123456 -e "flush logs"  (引号里可以执行任意sql语句)
4: mysqldump -uroot -p123456 --flush-logs  数据名 > xxx.sql
清理binlog日志
删除已有binlog日志
1 删除指定版本的binlog日志
(1)方式一:mysql> purge master logs to "x-bin.000004";    (删除000004之前的日志,x-bin.index同步更新)
(2)方式二: rm -rf x-bin.000001 (x-bin.index不同步更新)
2 删除所有binlog日志,重建日志;  mysql> reset master;
编写脚本allbak.sh每周一对数据做完全备份:00 18 * * 1 /shell/allbak.sh
vim allbak.sh
#!/bin/bash
bakdir=/datadir
dbname=haha
day=$(date +%F)
if [ ! -e $bakdir ]
then mkdir $bakdir
fi
mysqldump -uroot -p123456 --flush-logs $dbname > $bakdir/allbak-$day.sql
编写脚本newbak.sh每周二~日做增量备份(只备份新生成的和没备份过的binlog日志且正在使用的不备份):不备份最后一个binlog日志   00 18 * * 2-7 /shell/newbak.sh
vim newbak.sh
#!/bin/bash
if [ ! -e /backdir ];then
mkdir /backdir
fi
cd  /var/lib/mysql
for file in `sed '$d' /var/lib/mysql/A-bin.index`
do name=`echo $file | awk -F "/" '{print $2}'`
if [ ! -e /backdir/$name ];then
cp $name /backdir
fi
done




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-172166-1-1.html 上篇帖子: mysql-XtraBackup备份 下篇帖子: 修改mysql 表引擎类型错误 mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表