mysql实时增量备份
启用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: [root@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
转载于:https://blog.51cto.com/liangzai818/1740079
mysql实时增量备份相关推荐
- kafka对接mysql_【Canal】利用canal实现mysql实时增量备份并对接kafka
简介 canal 1.1.1版本之后, 默认支持将canal server接收到的binlog数据直接投递到MQ, 目前默认支持的MQ系统有: kafka: https://github.com/ap ...
- linux mysql定时增量备份_Mysql 日常备份和增量备份脚本(Linux)
适合对象 本文是在linux下,mysql 4.1.14版本下测试的,经过适当修改可能适合mysql 4.0,5.0及其其他版本. 本文适合于没有启动复制功能的mysql,如果启动了复制,可能不需要采 ...
- mysql定时增量备份_Mysql日常自动备份和增量备份脚本
序 你是否在寻找一个MySQL备份脚本? 适合对象 本文是在Linux下,mysql 4.1.14版本下测试的,经过适当修改可能适合mysql 4.0,5.0及其其他版本. 本文适合于没有启动复制功能 ...
- 实验——MySQL数据库增量备份恢复
目录 一.MySQL数据库增量备份恢复 1.1 物理冷备份,开启服务 1.2 开启二进制日志文件 1.3 创建库和表,进行完全备份和增量备份 1.4 进行正常操作和误操作,进行增量备份 1.5 查看增 ...
- MySQL 数据增量备份
目录 MySQL 数据增量备份 binlog日志 日志概述 启用日志 自定义日志存储目录和日志文件名 手动生成新的日志文件 清理日志(删除已有的日志文件) 查看日志文件内容 使用binlog日志恢复数 ...
- 实战-MySQL定时增量备份(2)
阅读本文大约需要 9 分钟 实战-MySQL定时全量备份(1) 实战-MySQL定时增量备份(2) 实战-将MySQL备份上传到私有云(3) 概要 引言 增量备份 恢复增量备份 定时备份 引言 在产品 ...
- mysql增量_mysql实时增量备份
采用binlog日志的好处 掌控所有更改操作,必要时可用于恢复数据 数据库主从复制的必要条件 [linyouyi@localhost~]# vim /etc/my.cnf [mysqld] .. .. ...
- python比较数据库表今天跟前一天数据增量,Python 生产环境Mysql数据库增量备份脚本...
Mysql数据库常用的办法是通过mysqldump导出sql进行备份,但是不适合数据量很大的数据库,速度,锁表是两个严重的问题.前面写了一遍blog介绍xtrabackup的热备工具.下面的脚本是基于 ...
- C 实现Mysql增量备份_window下mysql数据库增量备份实现教程
mysql增量备份(mysql5.1 之后),linux下mysql增量备份 网上资料很多.这里只说明window下mysql增量备份. 定义: mysql数据库会以二进制的形式,自动把用户对mysq ...
最新文章
- 美国康普SYSTIMAX iPatch智能配线系统介绍
- JavaScript时间日期格式转化
- 基于MATLAB的Okumura-Hata模型的仿真
- paramiko在windows上的安装和使用
- Python机器学习:多项式回归与模型泛化004为什么需要训练数据集和测试数据集
- 等差数列java_Java实现 LeetCode 413 等差数列划分
- 查找算法(一)顺序查找
- .net开发常用工具备忘录
- Virtual Serial Port Driver虚拟串口vspd v7.2 下载及破解方法
- 面向数据科学家的 Docker 最佳实践
- Oracle Decode()函数和CASE语句的比较
- Azure database
- 【图像融合】基于matlab GUI拉普拉斯金字塔+小波变换+NSCT图像融合【含Matlab源码 870期】
- python写刷课脚本_python opencv 知到 刷课 脚本
- Java获取图片大小 及 尺寸 图片压缩 jpg压缩
- 校园多媒体直播系统方案
- springboot优缺点
- mac中手动切换go版本
- [学科总结] 《矩阵论》
- 【NOI模拟赛】黑色大桥(DP优化,李超树)