MySQL增量备份与恢复

前言

一、如何实现MySQL增量备份?

  • MySQL没有提供直接的增量备份方法
  • 可以通过 MySQL提供的二进制日志( binary logs)间接实现增量备份
MySQL的配置文件的[mysqld]项中加入log-bin=filepath项(filepath是二进制文件的路径),如log-bin=mysql-bin,然后重启mysqld服务。
二进制日志文件的默认路径为/usr/local/mysql/data
[root@localhost ~]# vim /etc/my.cnf
'//在[mysqld]项中加入配置 log-bin=mysql-bin'
...省略内容
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
log-bin=mysql-bin	'//添加此句'
...省略内容
[root@localhost ~]# systemctl restart mysqld	'//重启服务'
[root@localhost ~]# ls /usr/local/mysql/data/
...省略内容
mysql-bin.000001  '//发现已经生成了二进制文件,设置成功'
...省略内容
  • MySQL二进制日志对备份的意义
  • 二进制日志保存了所有更新或者可能更新数据库的操作
  • 二进制日志在启动 MySQL服务器后开始记录,并在文件达到max_binlog_size所设置的大小或者接收到 flush-logs命令后重新创建新的日志文件
语法
mysqladmin -u 用户名 -p [密码] flush-logs
  • 只需定时执行 flush-logs方法重新创建新的日志,生成二进制文件序列,并及时把这些旧的日志保存到安全的地方就完成了一个时间段的增量备份

二、如何增量恢复MySQL数据库

2.1:增量恢复的步骤是什么?

  • 添加数据–进行完全备份–录入新的数据–进行增量备份–模拟故障–恢复操作
    在这里插入图片描述

2.2:有什么方式进行增量恢复?

如何能查看到日志文件中的操作语句?

mysqlbinlog --no-defaults --base64-output=decode-rows -v 日志文件名称 /opt/aaa.txt '//使用64位解码器按行输出日志文件放到/opt/aaa.txt中'
cat /opt/aaa.txt  '//查看日志文件的详细信息'

一般恢复

语法
mysqlbinlog [--no-defaults] 增量备份文件 | mysql -u 用户名 -p

断点恢复

  • 基于位置恢复
  • 就是将某个起始时间的二进制日志导入数据库中,从而跳过某个发生错误的时间点实现数据的恢复
恢复数据到指定位置
mysqlbinlog --stop-position='操作id' 二进制日志 |mysql -u 用户名 -p 密码
从指定的位置开始恢复数据
mysqlbinlog --start-position='操作id' 二进制日志 |mysql -u 用户名 -p 密码
  • 基于时间点恢复
  • 使用基于时间点的恢复,可
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值