学习
实践
活动
专区
工具
TVP
写文章

浅谈使用Binlog实现MySQL增量备份

在写文章的时候,我一直在纠结,这个到底能不能算增量备份,因为使用binlog的这种方式,按照官方文档的说话,应该叫做 point-in-time ,而非正经的增量模式,但是也聊胜于无。 那么我们又该如何选择备份方案呢? 1, 按天备份 周一 00:00 全备数据 周二 00:00 全备数据 26_01.sql.gz 26_02.sql.gz 周一增备 周二增备 binlog.000022binlog.000023binlog 参数 --flush-logs,结束当前日志,生成并使用新日志文件 参数 --master-data=2,该选项将会在输出SQL中记录下完全备份后新日志文件的名称,用于日后恢复时参考,例如输出的备份SQL 产生新的binlog日志来记录备份之后的数据库“增删改”操作。

69630
  • 广告
    关闭

    2023新春采购节

    领8888元新春采购礼包,抢爆款2核2G云服务器95元/年起,个人开发者加享折上折

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    xtra+binlog增量备份脚本(中)

    创建备份目录 mkdir -p /bak/mysql-binback 用于单点,备份binlog,要指定备份目录位置和其它变量 vim /root/bin/mybak-binlog.sh #! /xx.sh -uroot -p'123456',将第一次增量备份后的binlog文件名写到/tmp/binlog-section中,若都没有,自动填写mysql-bin.000001 #过程:增量先刷新 binlog日志,再查询/tmp/binlog-section中记录的上一次备份中最新的binlog日志的值 # cp中间的binlog日志,并进行压缩。 再将备份中最新的binlog日志写入。 #恢复:先进行全量恢复,再根据全量备份附带的time-binlog.txt中的记录逐个恢复。当前最新的Binlog日志要去掉有问题的语句,例如drop等。 bash /root/bin/mybak-all.sh 每天2点进行一次innobackupex增量备份+binlog日志备份 每周4点将之前的innobackupex备份打包,并启动新的全量备份 crontab

    18000

    利用 Docker 快速实现 MySQL binlog 主从备份

    [Docker] Intro 主从备份是容灾的一种手段, 模拟主从备份可以有下面几种方式: 不差钱方式, 买几台主机测试, 这种方式也比较接近线上环境. 通过创建几台虚拟机来模拟. binlog 是MySQL数据库的二进制日志,用于记录用户对数据库操作的SQL语句(不包括 SELECT),可以在配置文件开启,也可以在 MySQL 客户端开启. 可以在客户端键入show plugins; 查看 binlog 是否已安装开启( Active ) +----------------------------+----------+---------- =1M ## 主从复制的格式(mixed,statement,row,默认格式是statement) binlog_format=mixed ## 二进制日志自动删除/过期的天数。 | Binlog_Ignore_DB | Executed_Gtid_Set | +---------------------------+----------+--------------+----

    88500

    MySQL binlog

    mysql的binlog是多文件存储,定位一个LogEvent需要通过binlog filename + binlog position,进行定位。 工具恢复数据 增量备份 2、binlog的数据格式 MySQL Replication 复制可以是基于一条语句 (Statement Level) ,也可以是基于一条记录 (Row Level),可以在 binlog刷新到磁盘的时机跟sync_binlog参数相关,如果设置为0,则表示MySQL不控制binlog的刷新,由文件系统去控制它缓存的刷新,而如果设置成不为0的值则表示每sync_binlog次事务 4、binlog配置 开启binlog my.cnf配置中设置: [mysqld] log-bin=mysql-bin #binlog文件名前缀 binlog-format=ROW 清理 #刷新log日志,自此刻开始产生一个新编号的binlog日志文件 #每当mysqld服务重启时,会自动执行此命令,刷新binlog日志;在mysqldump备份数据时加 -F 选项也会刷新binlog

    89550

    MySQL binlog日志格式 binlog_format

    MySQL binlog日志格式 binlog_format MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement 当前会话使用 row 模式,并且已打开了临时表; 如果 binlog 采用了 Mixed 模式,那么在以下几种情况下会自动将 binlog 的模式由 statement 模式变为 row 模式: 1 #binlog_format=ROW binlog_format=MIXED 也可以在运行时动态修改 binlog 的格式。 例如: mysql> SET SESSION binlog_format = 'STATEMENT'; mysql> SET SESSION binlog_format = 'ROW'; 优点 历史悠久,技术成熟; 产生的 binlog 文件较小; binlog 中包含了所有数据库修改信息,可以据此来审核数据库的安全等情况; binlog 可以用于实时的还原,而不仅仅用于复制;

    20330

    技术分享 | Xtrabackup 备份中 Xtrabackup_binlog_info 文件记录的 GTID 信息是否准确?

    为了方便建立从库,Xtrabackup 在备份完成后会将 binlog position 与 GTID 的相关信息保存于 xtrabackup_binlog_info 文件中。 通过对原实例(进行备份的实例)的 binlog 进行解析,来查询 GTID:326662-595859 这部分事务所生成的数据在新实例(通过备份恢复的实例)上是否存在。 使用 Xtrabackup 工具备份后,xtrabackup_binlog_info 文件记录的信息如下: # # cat xtrabackup_binlog_info binlog.000033 这是因为 Xtrabackup 8.0 在备份过程中多了两步操作,FLUSH NO_WRITE_TO_BINLOG BINARY LOGS 和 copy binlog,Xtrabackup 8.0 在备份完非 InnoDB 表格的文件时会先切换 binlog,然后将切换后的 binlog 也进行备份,这样使用该备份恢复的新实例在启动后不仅会读取 gtid_executed 表,也会读取 binlog 文件来更新

    1.3K20

    MySQL清理binlog日志

    1、查看binlog日志 mysql> show binary logs; mysql> show binary logs; ±-----------------±-----------+ | Log_name | … … … 2、删除某个日志文件之前的所有日志文件 purge binary logs to 'mysql-bin.000074'; 3、清理2019-09-09 13:00:00前binlog 日志 PURGE MASTER LOGS BEFORE '2019-09-09 13:00:00'; 4、清理3天前binlog日志 PURGE MASTER LOGS BEFORE DATE_SUB( --时间和文件名一定不可以写错,尤其是时间中的年和文件名中的序号,以防不小心将正在使用的binlog删除!!! --切勿删除正在使用的binlog!!! 5、重置所有的日志 reset master; 6、手动切换binlog日志 flush logs --或者flush binary logs 当你某天把所有binlog日志全干掉,数据库没有产生新的日志的时候就可以用手动切换这个方式来产生了

    55920

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 备份一体机

      备份一体机

      备份一体机(TStor B2000)是将备份功能、容灾功能、存储功能和服务器硬件融合于一体的企业级数据保护产品,定位于解决混合云场景下的数据存储。TStor B2000支持本地与云端数据的协同,为用户数据提供云下快速备份恢复、云上容灾、云上归档、云上云下灾难恢复等功能,可以轻松解决混合云场景下的各种数据存储和管理问题。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券