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)是一种非常重要的方式。通过启用binlog,系统可以记录所有更改数据的操作,如INSERT、UPDATE、DELETE等SQL语句。这样一来,在遇到数据...
需要注意的是,使用binlog进行增量数据收集时,必须确保MySQL服务器开启了binlog功能,并且binlog格式设置为ROW模式,因为ROW模式能提供足够的信息来重建变更操作。 总之,`mysql-binlog-connector-java`是一个强大...
MySQL-xtrabackup 是一个开源的热备份工具,能够在不中断 MySQL 服务的情况下备份数据,而 MySQL 5.7 binlog 则能够记录数据库的所有修改操作,通过这两个工具的结合,我们可以实现在数据即时点恢复。 首先,我们...
可以通过`mysqlbinlog`命令来查看、解析和恢复binlog,也可以利用其他工具进行binlog的远程备份和管理。 总的来说,迁移MySQL的数据目录和binlog目录是一项涉及多个步骤的复杂任务,需要对MySQL的配置、权限管理...
- **二进制日志(Binlog)备份**:MySQL的二进制日志记录了所有更改数据库的操作,可用于数据恢复和点恢复。 - **直接拷贝数据文件**:对于MyISAM表,可以直接复制表数据文件;而对于InnoDB表,可以通过拷贝数据文件...
MySQL 5.5下的主从模式是一种常见的数据库高可用性和负载均衡解决方案,它允许数据从一个主服务器(Master)实时同步到一个或多个从服务器(Slave)。这种配置可以确保数据的安全性,并在主服务器出现故障时提供数据...
这种模式在确保数据安全性、提供故障恢复能力以及分散读取负载方面都十分有用。 以下是如何在MySQL 5.5.2环境下配置主从模式的详细步骤: **一、主服务器配置** 1. **创建复制用户**: 在主服务器上,你需要创建...
Binlog备份是MySQL数据库维护中非常重要的一部分,它能够帮助我们快速恢复数据,提高系统的稳定性和可靠性。 总之,在日常运维工作中,掌握并灵活运用这些知识是非常必要的。希望本文能为读者提供一定的参考价值。
MySQL的Binlog(二进制日志)是数据库恢复和主从复制的重要工具。当数据库出现意外删除或数据丢失的情况,如果没有备份,Binlog可以成为救命稻草。本篇文章将详细解析如何利用MySQL的Binlog进行数据恢复。 首先,...
- **灾难恢复**:讨论如何应对数据丢失,以及如何使用MySQL的binlog进行数据恢复。 5. **高可用性与扩展性**: - **复制技术**:讲解主从复制的原理和配置,以及如何实现多主复制和半同步复制。 - **分区与分片*...
MySQL 的二进制日志(binlog)记录了所有的 DML 操作,可以用于备份和恢复。 5. 直接拷贝数据文件和相关的配置文件 可以直接拷贝数据文件和相关的配置文件来备份数据库。 MySQL 的恢复机制 MySQL 的恢复机制...
MySQL binlog闪回工具是MySQL数据库系统中用于数据恢复和时间点恢复的重要工具。它基于MySQL的二进制日志(Binary Log,简称binlog)功能,能够帮助用户在发生错误或者数据丢失的情况下,通过binlog回溯到任意一个...
定期备份是防止数据丢失的关键,可以采用物理备份(如mysqldump)或逻辑备份(如binlog)。同时,制定恢复计划以应对硬件故障、软件错误或人为操作失误至关重要。 总之,MySQL数据库的高可用性是通过复制、负载均衡...
MySQL的binlog(Binary Log)是数据库的一种日志记录方式,用于记录所有的数据更改操作,以实现数据的备份、恢复和复制等功能。本篇文章将深入探讨如何查看和解析MySQL的binlog文件,特别是针对两种不同的binlog_...
- 备份恢复工具:如mysqldump、mysqlpump,用于数据库备份,binlog分析工具如pt-table-checksum、pt-table-sync则用于主从数据同步验证和修复。 4. **项目开发与管理**: - 版本控制:Git等工具用于源码版本管理...
在备份InnoDB表时,由于其事务处理和行级锁定特性,通常建议使用`--single-transaction`选项来获取一致性快照,同时配合binlog备份以实现增量备份。此外,定期备份二进制日志文件(binlog)是必要的,因为它们记录了...
Java开发的MySQL Row Base Binlog技术实现是一种高效的数据同步和备份解决方案,它通过解析MySQL的日志格式,特别是Row Format的binlog(二进制日志),来实现实时的数据复制和处理。以下是对这一技术的详细说明: ...
MySQL二进制日志(binlog)是MySQL数据库服务器的一个重要组件,用于记录所有更改数据或可能更改数据的语句,这些语句包括数据修改语句(INSERT、UPDATE、DELETE等)、DDL语句(如CREATE、ALTER、DROP等),以及其他...
传统的备份恢复方式可能需要较长时间,而binlog2sql则提供了一种更快速、更灵活的解决方案。通过binlog2sql,用户可以在不依赖完整备份的情况下,根据binlog中的记录进行恢复,尤其适用于那些频繁更新且无法承受长...