MYSQL备份:启用二进制日志功能的MYSQL增量备份
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL备份:启用二进制日志功能的MYSQL增量备份相关的知识,希望对你有一定的参考价值。
参考技术A 小量的数据库我们可以每天进行完整备份,因为这也用不了多少时间,但当数据库很大时,我们就不太可能每天进行一次完整备份了,而且改成每周一次完整备份,每天一次增量备份类似这样的备份策略。增量备份的原理就是使用了mysql的二进制日志,所以我们必须启用二进制日志功能。一、增量备份
1、比如我们在星期天下午11点做一次完整备份:
mysqldump
--single-transaction
--flush-logs
--master-data=2
--all-databases
>
fullbackup_sunday_11_PM.sql
在sql文件中我们会看到两行:
–
Position
to
start
replication
or
point-in-time
recovery
from
–
CHANGE
MASTER
TO
MASTER_LOG_FILE=’bin-log.000002′,
MASTER_LOG_POS=107;
第二行包含了我们需要的信息,是指备份后所有的更改将会保存到bin-log.000002二进制文件中。
2、然后在星期一下午11点我们来做一次增量备份:
mysqladmin
flush-logs
这时将会产生一个新的二进制日志文件bin-log.000003,bin-log.000002则保存了自星期天下午11点到现在的所有更改,我们只需要把这个文件备份到安全的地方就行了。然后星期二我们又做增量备份,还是执行同样的命令,这时我们保存bin-log.000003文件。
二、恢复备份
比如星期三中午12点出现了故障,这时需要恢复,我们首先导入星期天的完整备份:
mysql
<
fullbackup_sunday_3_AM.sql
接着我们导入星期一和星期二的增量备份:
mysqlbinlog
bin-log.000002
bin-log.000003
mysql
这时我们已经恢复了所有备份数据,我们还可以找到bin-log.000004,进一步恢复最新的数据。
MYSQL增量备份(日志备份)
MYSQL数据库在使用过程中,一般都需要对使用的数据库进行备份处理,对于数据量较小时可以通过mysqldump命令进行数据库全备份,但是当数据库数据量达到一定程度之后,显然增量备份更加适合。
MYSQL增量备份主要通过二进制日志文件进行增量备份。mysql数据库会以二进制形式自动把用户对mysql数据库的操作记录到文件,当用户希望恢复的时候可以使用备份文件进行恢复。
本文主要介绍如何实现在本地服务器上对远程服务器的数据库文件进行在本地服务器的备份。(以下的cmd均需跳转到mysql的bin文件夹路径下,eg:cd C:\Program Files\MySQL\MySQL Server 5.7\bin )
1、完全备份:在远程服务器上进行数据库全备份
cmd> mysqldump -u root -p test > test.sql :输入密码 ,将会备份数据库名为test的数据库到mysqldump.exe所在的目录的test.sql文件,test.sql可以直接写磁盘的绝对路径进行保存。
2、还原备份:在本地服务器上进行数据库全还原
cmd> mysqldump -u root -p test < test.sql :输入密码,test.sql为本地服务器上的拷贝回来的还原文件的绝对路径,运行后实现对数据库的还原。
3、打开二进制日志配置 :
在Windows系统下,对MYSQL的my.ini的log-bin等进行配置目录位置时,假设要将log-bin的日志配置到E盘bak文件夹下的文件为binlog.log。则可以如下配置 :
# Binary Logging.
log-bin=E:/bak/logbin.log
开启后确保路径存在,然后重启MYSQL服务就会在E:/bak目录下多了2个文件
以上是关于MYSQL备份:启用二进制日志功能的MYSQL增量备份的主要内容,如果未能解决你的问题,请参考以下文章