广告
返回顶部
首页 > 资讯 > 数据库 >MySQL怎么使用二进制日志恢复数据库
  • 737
分享到

MySQL怎么使用二进制日志恢复数据库

2024-04-02 19:04:59 737人浏览 独家记忆
摘要

本篇内容主要讲解“Mysql怎么使用二进制日志恢复数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql怎么使用二进制日志恢复数据库”吧!一、二进制日志

本篇内容主要讲解“Mysql怎么使用二进制日志恢复数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习mysql怎么使用二进制日志恢复数据库”吧!

一、二进制日志简介

   Mysql有不同类型的日志,其中二进制文件记录了所有对数据库的修改,如果数据库因为操作不当或其他原因丢失了数据,可以通过二进制文件恢复。在my.ini文件中设置了log-bin,重新启动MySQL后就开启了二进制日志。数据库每次重新启动(或执行flush logs命令)后,都会生成一个新的二进制日志,如在在my.ini文件中设置了

log-bin=F:\mysqllog\logbin

则数据库第一次启动会生成logbin.000001,第二次启动会生成logbin.000002,第三次启动会生成logbin.000003,......,以此类推。

MySQL二进制日志删除与恢复  Http://www.linuxidc.com/Linux/2010-11/29576p2.htm

二、数据恢复实例

1. 为了便于说明,执行flush logs命令,生成一个新的二进制文件;

2. 打开bookstore数据库中的authors表,里面已经有3条数据,在里面新插入两条数据,即第4条和第5条数据;

MySQL怎么使用二进制日志恢复数据库

3. 假设由于操作失误,将第4条和第5条数据删除了;

MySQL怎么使用二进制日志恢复数据库

4. 这时就考虑用二进制文件恢复第4条和第5条数据了,打开二进制文件的路径,发现有很多二进制日志文件,

MySQL怎么使用二进制日志恢复数据库

其中编号最大的000030是最新的,记录了前面所述的记录插入和删除操作;

5. 首先查看一下这个文件,运行以下命令将其转换成文本文件,

MySQL怎么使用二进制日志恢复数据库

打开文本文件,可以看见记录下了记录的插入和删除操作。

;
;
DELIMITER ;
# at 4
#150204 20:24:10 server id 1  end_log_pos 107     Start: binlog v 4, server v 5.5.25-log created 150204 20:24:10
# Warning: this binlog is either in use or was not closed properly.
BINLOG '
ag/SVA8BAAAAZwAAAGsAAAABAAQANS41LjI1LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAVAAEGggAAAaiCAGCAA==
';
# at 107
#150204 20:25:40 server id 1  end_log_pos 180     Query    thread_id=8    exec_time=0    error_code=0
SET TIMESTAMP=1423052740;
SET @@session.pseudo_thread_id=8;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1;
SET @@session.sql_mode=1344274432;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1;
;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33;
SET @@session.lc_time_names=0;
SET @@session.collation_database=DEFAULT;
BEGIN
;
# at 180
#150204 20:25:40 server id 1  end_log_pos 369     Query    thread_id=8    exec_time=0    error_code=0
use bookstore;
SET TIMESTAMP=1423052740;
INSERT INTO `bookstore`.`authors` (`author_id`, `author_last`, `author_first`, `country`) VALUES (4, 'Li', 'Si', 'China')
;
# at 369
#150204 20:25:40 server id 1  end_log_pos 557     Query    thread_id=8    exec_time=0    error_code=0
SET TIMESTAMP=1423052740;
INSERT INTO `bookstore`.`authors` (`author_id`, `author_last`, `author_first`, `country`) VALUES (5, 'Wang', 'Wu', 'US')
;
# at 557
#150204 20:25:40 server id 1  end_log_pos 584     Xid = 391
COMMIT;
# at 584
#150204 20:45:31 server id 1  end_log_pos 657     Query    thread_id=8    exec_time=0    error_code=0
SET TIMESTAMP=1423053931;
BEGIN
;
# at 657
#150204 20:45:31 server id 1  end_log_pos 780     Query    thread_id=8    exec_time=0    error_code=0
SET TIMESTAMP=1423053931;
DELETE FROM `bookstore`.`authors` WHERE `author_id`='4'
;
# at 780
#150204 20:45:31 server id 1  end_log_pos 903     Query    thread_id=8    exec_time=0    error_code=0
SET TIMESTAMP=1423053931;
DELETE FROM `bookstore`.`authors` WHERE `author_id`='5'
;
# at 903
#150204 20:45:31 server id 1  end_log_pos 930     Xid = 407
COMMIT;
DELIMITER ;
# End of log file
ROLLBACK ;
;

6. 开始恢复数据,执行以下命令,

MySQL怎么使用二进制日志恢复数据库

之所以要有一个--stop-pos=584参数,是因为从584开始,就在删除记录了,所以在584就应该停止。执行命令以后,再次打开authors表,可以看见第4、5条数据被恢复了!

MySQL怎么使用二进制日志恢复数据库

到此,相信大家对“MySQL怎么使用二进制日志恢复数据库”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL怎么使用二进制日志恢复数据库

本文链接: https://www.lsjlt.com/news/58686.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL怎么使用二进制日志恢复数据库
    本篇内容主要讲解“MySQL怎么使用二进制日志恢复数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL怎么使用二进制日志恢复数据库”吧!一、二进制日志...
    99+
    2022-10-18
  • MySQL中怎么删除与恢复二进制日志
    这篇文章将为大家详细讲解有关MySQL中怎么删除与恢复二进制日志,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。# vim /etc/my.cnf[mysql...
    99+
    2022-10-18
  • 解决mysql二进制日志恢复数据报错:@@GLOBAL.GTID_MODE = OFF.
    解决mysql利用二进制日志恢复数据报错:ERROR 1781 (HY000) at line 16: @@SESSION.GTID_NEXT cannot be set to UUID:NUMBER wh...
    99+
    2022-10-18
  • MySQL怎么从很多二进制日志中恢复一张表的数据
    本篇内容介绍了“MySQL怎么从很多二进制日志中恢复一张表的数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2022-10-18
  • Mysql数据库二进制日志的管理
    如果配置了log_bin参数,则需要配置expire_logs_days参数指定二进制日志保留时间,不然磁盘空间早晚会被日志占满的。如果之前没有配置,则配置步骤如下:   1、查...
    99+
    2022-10-18
  • mysql数据库mysqlbinlog二进制日志文件挖掘
    点击(此处)折叠或打开 ...
    99+
    2022-10-18
  • MySQL恢复:使用从库备份,主库binlog,从库中继日志恢复数据库
    小生博客:http://xsboke.blog.51cto.com -------谢谢您的参考,如有疑问,欢迎交流 环境说明: mysql主从复制,主库A宕机,将从...
    99+
    2022-10-18
  • MySQL中怎么通过binlog日志恢复数据
    本篇文章为大家展示了MySQL中怎么通过binlog日志恢复数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、数据备份操作的前一天晚上进行了日常逻辑备份mysq...
    99+
    2022-10-18
  • 怎么通过日志文件恢复MySQL数据
    这篇文章主要介绍“怎么通过日志文件恢复MySQL数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么通过日志文件恢复MySQL数据”文章能帮助大家解决问题。1、找到最新的 binlog 文件进入 ...
    99+
    2023-06-29
  • MySQL使用binlog日志做数据恢复的实现
    MySQL的binlog日志是MySQL日志中非常重要的一种日志,记录了数据库所有的DML操作。通过binlog日志我们可以进行数据库的读写分离、数据增量备份以及服务器宕机时的数据恢复。 定期备份固然可以在服务器发生...
    99+
    2022-05-13
    MySQL binlog日志恢复 MySQL binlog 恢复
  • MySQL使用binlog日志做数据恢复的案例
    这篇文章主要介绍了MySQL使用binlog日志做数据恢复的案例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。MySQL的binlog日志是MySQL日志中非常重要的一种日志...
    99+
    2023-06-14
  • 关系型数据库的管理Mysql二进制日志详细步骤
    下文主要给大家带来关系型数据库的管理Mysql二进制日志详细步骤,希望这些内容能够带给大家实际用处,这也是我编辑关系型数据库的管理Mysql二进制日志详细步骤这篇文章的主要目的。好了,废话不多说,大家直接看...
    99+
    2022-10-18
  • MySQL数据库InnoDB数据恢复工具怎么用
    小编给大家分享一下MySQL数据库InnoDB数据恢复工具怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一款开源的MySQ...
    99+
    2022-10-19
  • 怎么使用mysql binlog恢复数据
    这篇文章主要介绍“怎么使用mysql binlog恢复数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用mysql binlog恢复数据”文章能帮助大家解决问题。如果想通...
    99+
    2023-07-05
  • 使用mysql恢复数据的机制是什么
    下文我给大家简单讲讲关于使用mysql恢复数据的机制,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完使用mysql恢复数据的机制对大家多少有点帮助吧。其实查看mysqldump...
    99+
    2022-10-18
  • 第77讲:二进制方式搭建MySQL数据库5.7版本以及错误日志管理
    二进制方式搭建MySQL数据库5.7版本 前面是使用的yum的方式安装的MySQL数据库,在企业生产环境中大多数都用二进制方式安装。 本次使用二进制方式搭建MySQL 5.7.36版本。 1.二进制安装MySQL5.7版本 1.1....
    99+
    2023-12-22
    数据库 mysql adb 云计算 运维 数据结构
  • 怎么使用PHP实现数据库主从复制故障恢复
    这篇文章主要介绍“怎么使用PHP实现数据库主从复制故障恢复”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用PHP实现数据库主从复制故障恢复”文章能帮助大家解决问题。主从复制简介数据库主从复制是...
    99+
    2023-07-06
  • 怎么在MySQL中使用全库备份数据恢复单表数据
    怎么在MySQL中使用全库备份数据恢复单表数据?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。提取建表语句sed -e '...
    99+
    2022-10-18
  • 怎么使用alwayson后如何收缩数据库日志
    这篇文章将为大家详细讲解有关怎么使用alwayson后如何收缩数据库日志,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。问题描述:在使用了alwayson后,主从库实时同步...
    99+
    2022-10-18
  • Android怎么使用socket进行二进制流数据传输
    本篇内容主要讲解“Android怎么使用socket进行二进制流数据传输”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android怎么使用socket进行二进制流数据传输”吧!简单的自定义协议...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作