mysql 增量备份
2017-04-18 17:11
204 查看
在使用增量备份的时候,首先了解下全备份,或者说要先做全备份,再配合增量备份,这样才是一个完整的备份解决方案。
全备份:点击打开链接
增量备份配置:
1、首先找到MySQL安装目录下my.ini或者my.conf文件。
如果不清楚安装目录的话,可以进入 mysql> select @@basedir as basePath from dual;
dual是亚元表,数据库中默认的一张空表。
![](https://img-blog.csdn.net/20170426141558911?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTkzNzIwNg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2、在mysqld下面添加二进制备份路径。
log-bin=E:/backup/mysql_backup
![](https://img-blog.csdn.net/20170418172110549?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTkzNzIwNg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3、重启mysql服务,在E盘的backup目录下多了2个文件
![](https://img-blog.csdn.net/20170418172129659?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTkzNzIwNg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4、打开index文件,内容是日志文件的路径。日志文件可以有多个,命名规则是log-bin中设置目录的后缀名,也就是mysql_backup后面加上6位数(从000001一直递增),
我们需要关注的是000001后缀的文件。我们可以通过mysql安装目录下bin文件中的mysqlbinlog.exe打开。
![](https://img-blog.csdn.net/20170418172143472?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTkzNzIwNg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在cmd中,切换到mysqlbinlog.exe所在目录,输入需要打开的文件,如下:
![](https://img-blog.csdn.net/20170418172203202?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTkzNzIwNg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
注意,新增数据库和删除数据库都会记录在此类文件中。(还有,任何查询sql都不会记录的)。
因为每次操作的时间和“位置”都会被记录下来。所以要想还原数据有两种途径通过“时间”或“位置”。
通过时间还原:
--start-datetime="还原数据的起始时间"
--stop-datetime="还原数据的结束时间"
mysqlbinlog --start-datetime=“时间” 日志文件路径 | mysql -u用户 -p 从规定的起始时间还原到现在
mysqlbinlog --stop-datetime=“时间” 日志文件路径 | mysql -u用户 -p 从最开始还原到规定的结束时间
mysqlbinlog --start-datetime=“时间” --stop-datetime=“时间” 日志文件路径 | mysql -u用户 -p 从规定的起始时间还原到规定的结束时间
通过位置还原:
--start-position="还原数据的起始位置"
--stop-position="还原数据的结束位置"
mysqlbinlog --start-position=“位置” 日志文件路径 | mysql -u用户 -p 从规定的起始位置还原到现在
mysqlbinlog --stop-position=“位置” 日志文件路径 | mysql -u用户 -p 从最开始还原到规定的结束位置
mysqlbinlog --start-position=“位置” --stop-position=“位置” 日志文件路径 | mysql -u用户 -p 从规定的起始位置还原到规定的结束位置
再进行dml操作时,都记录下来,运用上面语句就可以还原到指定位置。
注意,在做增量备份时候,需要先做一个全备份,这样就可以保证安全性。再此,数据量庞大的情况,就需要开启定时删除增量备份文件,而且MySQL默认expire_logs_days=0,是不会自动删除日志文件的。如果日志文件过大,且业务需要,只能手动归档压缩备份。
![](https://img-blog.csdn.net/20170418172212909?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTkzNzIwNg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
对于不重要的日志,可以设置expire_logs_days 的值,且需要注意只支持99天。
比如,每周做一个全备份,那么我们就可以一周做一次增量备份删除了。
全备份:点击打开链接
增量备份配置:
1、首先找到MySQL安装目录下my.ini或者my.conf文件。
如果不清楚安装目录的话,可以进入 mysql> select @@basedir as basePath from dual;
dual是亚元表,数据库中默认的一张空表。
2、在mysqld下面添加二进制备份路径。
log-bin=E:/backup/mysql_backup
3、重启mysql服务,在E盘的backup目录下多了2个文件
4、打开index文件,内容是日志文件的路径。日志文件可以有多个,命名规则是log-bin中设置目录的后缀名,也就是mysql_backup后面加上6位数(从000001一直递增),
我们需要关注的是000001后缀的文件。我们可以通过mysql安装目录下bin文件中的mysqlbinlog.exe打开。
在cmd中,切换到mysqlbinlog.exe所在目录,输入需要打开的文件,如下:
注意,新增数据库和删除数据库都会记录在此类文件中。(还有,任何查询sql都不会记录的)。
因为每次操作的时间和“位置”都会被记录下来。所以要想还原数据有两种途径通过“时间”或“位置”。
通过时间还原:
--start-datetime="还原数据的起始时间"
--stop-datetime="还原数据的结束时间"
mysqlbinlog --start-datetime=“时间” 日志文件路径 | mysql -u用户 -p 从规定的起始时间还原到现在
mysqlbinlog --stop-datetime=“时间” 日志文件路径 | mysql -u用户 -p 从最开始还原到规定的结束时间
mysqlbinlog --start-datetime=“时间” --stop-datetime=“时间” 日志文件路径 | mysql -u用户 -p 从规定的起始时间还原到规定的结束时间
通过位置还原:
--start-position="还原数据的起始位置"
--stop-position="还原数据的结束位置"
mysqlbinlog --start-position=“位置” 日志文件路径 | mysql -u用户 -p 从规定的起始位置还原到现在
mysqlbinlog --stop-position=“位置” 日志文件路径 | mysql -u用户 -p 从最开始还原到规定的结束位置
mysqlbinlog --start-position=“位置” --stop-position=“位置” 日志文件路径 | mysql -u用户 -p 从规定的起始位置还原到规定的结束位置
再进行dml操作时,都记录下来,运用上面语句就可以还原到指定位置。
注意,在做增量备份时候,需要先做一个全备份,这样就可以保证安全性。再此,数据量庞大的情况,就需要开启定时删除增量备份文件,而且MySQL默认expire_logs_days=0,是不会自动删除日志文件的。如果日志文件过大,且业务需要,只能手动归档压缩备份。
对于不重要的日志,可以设置expire_logs_days 的值,且需要注意只支持99天。
比如,每周做一个全备份,那么我们就可以一周做一次增量备份删除了。
相关文章推荐
- MySQl备份恢复策略(完全+增量备份策略) ZT
- 用MySQL-zrm来备份(支持增量)和恢复MySQL数据库
- Mysql 日常备份和增量备份脚本(Linux)
- Mysql日常备份和增量备份SHELL脚本
- Mysql备份策略-完成备份+增量备份shell
- Mysql 增量备份脚本(Linux)
- percona mysql备份与恢复(二) --------增量备份与恢复
- Mysql完成备份+增量备份shell
- 【增量备份Mysql数据 - 备份binlog文件】
- 使用mysqlhotcopy 物理增量备份
- mysql增量备份及备份脚本
- mysql增量备份代码
- MySQL完全备份、增量备份与恢复
- 日常和增量备份mysql
- mysql增量备份
- mysql增量、全量备份
- mysql的增量备份
- mysql 增量备份脚本参考
- Mysql 增量备份脚本(Linux)
- mysql增量备份脚本