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备份、增量备份及数据恢复基础实战(12节) 01-备份数据的意义及重要性.avi 02-mysqldump多个命令参数备份实战.avi 03-mysqldump逻辑备份的工作原理.avi 04-备份多个库的思想及多种方法讲解.avi 05-...
性能调优、高可用与监控》由资深mysql专家撰写,以最新的mysql版本为基础,以构建高性能mysql服务器为核心,从故障诊断、表设计、sql优化、性能参数调优、mydumper逻辑、xtrabackup热备份与恢复、mysql高可用集群...
同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,便于用户进行数据库配置、监控、备份、恢复、迁移等工作。 社区与生态系统 MySQL拥有庞大的开发者社区和丰富的第三方插件、库...
同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,便于用户进行数据库配置、监控、备份、恢复、迁移等工作。 社区与生态系统 MySQL拥有庞大的开发者社区和丰富的第三方插件、库...
同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,便于用户进行数据库配置、监控、备份、恢复、迁移等工作。 社区与生态系统 MySQL拥有庞大的开发者社区和丰富的第三方插件、库...
10、智能的增量备份恢复功能,能够恢复出与每次执行时源目录完全一样的目录结构和文件。 11、异地容灾备份功能:文件一旦备份,可以在任何一台电脑上进行文件恢复,数据永不丢失。 12、支持在任务执行后发送执行...
10、智能的增量备份恢复功能,能够恢复出与每次执行时源目录完全一样的目录结构和文件。 11、异地容灾备份功能:文件一旦备份,可以在任何一台电脑上进行文件恢复,数据永不丢失。 12、支持在任务执行后发送执行...
1.4.2 mysql 的备份的脚本给 700 的权限,并且属主和属组为 root..........................21 1.4 关于 mysql 的启动与关闭.......................................................................................
同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,便于用户进行数据库配置、监控、备份、恢复、迁移等工作。 社区与生态系统 MySQL拥有庞大的开发者社区和丰富的第三方插件、库...
同时,MySQL附带了一系列管理工具,如MySQL Server、MySQL Workbench、MySQL Shell等,便于用户进行数据库配置、监控、备份、恢复、迁移等工作。 社区与生态系统 MySQL拥有庞大的开发者社区和丰富的第三方插件、库...