Mysql如何实现常规+增量备份

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql如何实现常规+增量备份相关的知识,希望对你有一定的参考价值。

mysql做正规和增量备份(基于单一数据库或全部数据库 )

1、网络环境

两台Linux服务器环境(Centos 4.4 Kernel:2.6.9-42)
★服务器
主服务器:
hostanme:centos_primary
ip:192.168.64.198 subnet mask:255.255.252.0 gateway:192.168.64.1
从服务器:
hostname:centos_Slave
ip:192.168.64.253 subnet mask:255.255.252.0 gateway:192.168.64.1
★数据库
mysql-5.1.25-rc-linux-i686-glibc23.tar.gz
采用源码二进制安装、安装路径/usr/local/mysql
数据库账号: mysql/mysql
测试登录Mysql系统都正常
//两台mysql管理系统系统的配置完全一致、用户账号一致。

2、目的
是基于主从服务器做常规备份及增量备份,主从两台的数据库系统的内容完全一致,主要是将主的数据库
系统中的数据库备份到从服务器中的指定位置,以便数据库出现问题时还原。

//说明要做常规+增量备份,实现任务计划备份,并且在主服务器上备份一份,然后在从服务器备份一份,实现冗余。。

3、配置文件说明
1)、常规备份文件
back.sh //常规备份下备份文件脚本
reback.sh//常规备份下恢复文件脚本
备份目录:/home/backupfile/Complete

2)、增量备份文件
incre.sh //常规备份下备份文件脚本
rebackbinlog.sh //常规备份下恢复文件脚本
备份目录:/home/backupfile/daily

参考技术A 楼猪哦,我的可爱小楼主,太爱你了。

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个文件 

logbin.index  这个是索引文件 有哪些增量备份
logbin.000001   存放用户对数据库操作的文件
 
4、日志还原:
之后对数据库的增删改都会在日志中写入相应的记录,此时将远程服务器上的日志文件拷贝到本地服务器就可以进行增量备份的还原。
 
日志还原指令:
 
全部还原---------:mysqlbinlog e:/mysqldb/logbin.000001 | mysql -u root -p pdserver
 
按照时间还原-----: mysqlbinlog  --stop-datatime="2017-04-10 20:50:00" e:/mysqldb/logbin.000001
           上面这句的意思是 一直恢复到 2017-04-10 20:50:00  停止
按照位置来恢复----:mysqlbinlog  --stop-position="100" e:/mysqldb/logbin.000001  | 
                            上面这个语句意思是 恢复到100的位置
 
 

以上是关于Mysql如何实现常规+增量备份的主要内容,如果未能解决你的问题,请参考以下文章

MySQL的备份与还原,非常规备份,全量备份,增量备份

MySQL的备份与还原,非常规备份,全量备份,增量备份

MYSQL增量备份(日志备份)

如何进行MongoDB自动备份增量备份和恢复

# MySQL增量备份与恢复

mysql备份如何做