`
被触发
  • 浏览: 36301 次
文章分类
社区版块
存档分类
最新评论

Mysql_binlog备份恢复模式

阅读更多

Binlog备份恢复模式优势

使用mysqldump命令备份成sql文件只能恢复指定时间段,定位精度低,无法恢复到指定时间点的数据,并且数据库结构损坏则无法恢复。Binlog模式可以使数据恢复点精确到秒,无需担心数据库结构损坏问题,可指定恢复到任意时间点状态,降低数据丢失风险。

 

启用Binlog备份恢复模式详细操作如下:

 

一 开启mysql中的binlog日志记录,操作如下

----------------------------------------------

#vim /etc/mysql/my.cnf

----------------------------------------------

取消一下几行注释

----------------------------------------------

log_bin                 = /var/log/mysql/mysql-bin.log

expire_logs_days        = 10

max_binlog_size         = 100M

----------------------------------------------

修改保存后退出,重启mysql服务

----------------------------------------------

Sudo server mysql restart

----------------------------------------------

Binlog日志成功启动。

 

注:如果采用了mysql主从模式数据库,针对数据备份和恢复也相对要复杂一些,本文主要说明主从结构数据库的Binlog备份恢复,具体操作步骤如下:

 

二 Binlog备份操作

 

进入数据库

---------------------------------------------------------------------------------------

Mysql –uusername  -p

---------------------------------------------------------------------------------------

首先停止从数据库的slave服务,执行如下命令:

---------------------------------------------------------------------------------------

Stop slave;

---------------------------------------------------------------------------------------

打包binlog日志文件

---------------------------------------------------------------------------------------

Tar cvf mysql-binlogxxx.tar.gz /var/log/mysql/mysql-bin*

---------------------------------------------------------------------------------------

使用md5sum 计算备份文件的md5值

使用scp自动将备份文件上传至备份中心

计算备份中心刚刚上传的备份文件的md5值,两边一致则备份成功,不一致发出邮件通知.

启动 slave

---------------------------------------------------------------------------------------

start  slave;

---------------------------------------------------------------------------------------

检测slave是否工作正常,不正常等待10s再次启动,否则发出邮件通知。

注:以上操作从打包到邮件通知均可过通过脚本实现,具体脚本文件本文暂不提供。

 

三 Binlog恢复操作

首先需要停止相关服务,防止用户写入新数据,如nginx等web服务

---------------------------------------------------------------------------------------

Sudo server nginx stop

---------------------------------------------------------------------------------------

执行如下命令恢复到2010年7月1日13点30开始的数据库状态

---------------------------------------------------------------------------------------

Mysqlbinlog  --start-date=“2010-07-01 13:30” mysqlbinlogxxx |mysql –uusername –p

---------------------------------------------------------------------------------------

执行如下命令恢复到2010年7月1日13点30截至的数据库状态

---------------------------------------------------------------------------------------

Mysqlbinlog  --stop-date=“2010-07-01 13:30” mysqlbinlogxxx |mysql –uusername –p

---------------------------------------------------------------------------------------

执行如下命令恢复到截至点为368312数据库状态

---------------------------------------------------------------------------------------

mysqlbinlog --stop-position="368312" /var/log/mysql/bin.123456 \

| mysql -u root -pmypwd

---------------------------------------------------------------------------------------

执行如下命令恢复到开始点为368315数据库状态

---------------------------------------------------------------------------------------

mysqlbinlog --start-position="368315" /var/log/mysql/bin.123456 \

| mysql -u root -pmypwd

---------------------------------------------------------------------------------------

完成后进入数据库检查数据库是否成功恢复。

 

若没有主从结构的数据库则不需要在备份过程中执行停止从服务器slave这项工作,其他步骤相同,不再累述。

分享到:
评论

相关推荐

    MySQL利用binlog恢复库表

    为了应对这类情况,MySQL提供了多种备份和恢复机制,其中二进制日志(binlog)是一种非常重要的方式。通过启用binlog,系统可以记录所有更改数据的操作,如INSERT、UPDATE、DELETE等SQL语句。这样一来,在遇到数据...

    基于 mysql-binlog-connector-java 实现增量数据的收集.zip

    需要注意的是,使用binlog进行增量数据收集时,必须确保MySQL服务器开启了binlog功能,并且binlog格式设置为ROW模式,因为ROW模式能提供足够的信息来重建变更操作。 总之,`mysql-binlog-connector-java`是一个强大...

    MySQL-xtrabackup与MySQL5.7 binlog实现数据即时点恢复.docx

    MySQL-xtrabackup 是一个开源的热备份工具,能够在不中断 MySQL 服务的情况下备份数据,而 MySQL 5.7 binlog 则能够记录数据库的所有修改操作,通过这两个工具的结合,我们可以实现在数据即时点恢复。 首先,我们...

    Mysql Data目录和 Binlog 目录 搬迁的方法

    可以通过`mysqlbinlog`命令来查看、解析和恢复binlog,也可以利用其他工具进行binlog的远程备份和管理。 总的来说,迁移MySQL的数据目录和binlog目录是一项涉及多个步骤的复杂任务,需要对MySQL的配置、权限管理...

    MySQL数据库备份和恢复

    - **二进制日志(Binlog)备份**:MySQL的二进制日志记录了所有更改数据库的操作,可用于数据恢复和点恢复。 - **直接拷贝数据文件**:对于MyISAM表,可以直接复制表数据文件;而对于InnoDB表,可以通过拷贝数据文件...

    mysql_5.5._下的主从模式.docx

    MySQL 5.5下的主从模式是一种常见的数据库高可用性和负载均衡解决方案,它允许数据从一个主服务器(Master)实时同步到一个或多个从服务器(Slave)。这种配置可以确保数据的安全性,并在主服务器出现故障时提供数据...

    mysql_5.5._下的主从模式.pdf

    这种模式在确保数据安全性、提供故障恢复能力以及分散读取负载方面都十分有用。 以下是如何在MySQL 5.5.2环境下配置主从模式的详细步骤: **一、主服务器配置** 1. **创建复制用户**: 在主服务器上,你需要创建...

    binlog备份1

    Binlog备份是MySQL数据库维护中非常重要的一部分,它能够帮助我们快速恢复数据,提高系统的稳定性和可靠性。 总之,在日常运维工作中,掌握并灵活运用这些知识是非常必要的。希望本文能为读者提供一定的参考价值。

    Mysql的Binlog数据恢复:不小心删除数据库详解

    MySQL的Binlog(二进制日志)是数据库恢复和主从复制的重要工具。当数据库出现意外删除或数据丢失的情况,如果没有备份,Binlog可以成为救命稻草。本篇文章将详细解析如何利用MySQL的Binlog进行数据恢复。 首先,...

    MYSQL高效编程_MYSQL_

    - **灾难恢复**:讨论如何应对数据丢失,以及如何使用MySQL的binlog进行数据恢复。 5. **高可用性与扩展性**: - **复制技术**:讲解主从复制的原理和配置,以及如何实现多主复制和半同步复制。 - **分区与分片*...

    MySQL的备份和恢复机制

    MySQL 的二进制日志(binlog)记录了所有的 DML 操作,可以用于备份和恢复。 5. 直接拷贝数据文件和相关的配置文件 可以直接拷贝数据文件和相关的配置文件来备份数据库。 MySQL 的恢复机制 MySQL 的恢复机制...

    MySQL binlog闪回工具

    MySQL binlog闪回工具是MySQL数据库系统中用于数据恢复和时间点恢复的重要工具。它基于MySQL的二进制日志(Binary Log,简称binlog)功能,能够帮助用户在发生错误或者数据丢失的情况下,通过binlog回溯到任意一个...

    MySQL数据库介绍及高可用方案_方案_MYSQL_directionhkc_

    定期备份是防止数据丢失的关键,可以采用物理备份(如mysqldump)或逻辑备份(如binlog)。同时,制定恢复计划以应对硬件故障、软件错误或人为操作失误至关重要。 总之,MySQL数据库的高可用性是通过复制、负载均衡...

    binlog文件解析相关.docx

    MySQL的binlog(Binary Log)是数据库的一种日志记录方式,用于记录所有的数据更改操作,以实现数据的备份、恢复和复制等功能。本篇文章将深入探讨如何查看和解析MySQL的binlog文件,特别是针对两种不同的binlog_...

    mysql_投档项目终结

    - 备份恢复工具:如mysqldump、mysqlpump,用于数据库备份,binlog分析工具如pt-table-checksum、pt-table-sync则用于主从数据同步验证和修复。 4. **项目开发与管理**: - 版本控制:Git等工具用于源码版本管理...

    UNIX下MySQL 备份和恢复

    在备份InnoDB表时,由于其事务处理和行级锁定特性,通常建议使用`--single-transaction`选项来获取一致性快照,同时配合binlog备份以实现增量备份。此外,定期备份二进制日志文件(binlog)是必要的,因为它们记录了...

    基于java开发的、高性能的、基于解析mysql row base binlog技术实现.zip

    Java开发的MySQL Row Base Binlog技术实现是一种高效的数据同步和备份解决方案,它通过解析MySQL的日志格式,特别是Row Format的binlog(二进制日志),来实现实时的数据复制和处理。以下是对这一技术的详细说明: ...

    mysql binlog

    MySQL二进制日志(binlog)是MySQL数据库服务器的一个重要组件,用于记录所有更改数据或可能更改数据的语句,这些语句包括数据修改语句(INSERT、UPDATE、DELETE等)、DDL语句(如CREATE、ALTER、DROP等),以及其他...

    MySQL 闪回工具binlog2sql

    传统的备份恢复方式可能需要较长时间,而binlog2sql则提供了一种更快速、更灵活的解决方案。通过binlog2sql,用户可以在不依赖完整备份的情况下,根据binlog中的记录进行恢复,尤其适用于那些频繁更新且无法承受长...

Global site tag (gtag.js) - Google Analytics