首页
学习
活动
专区
圈层
工具
发布

事务日志还原的次意外的操作失误

前几天新发布的一套程序发生了一次意外的操作失误,程序员修改某个表的指定范围的指定字段的时候,误操作导致更新操作没有执行where,直接引起该表指定字段全部变为更新字段,为了解决这个问题,特意使用了事务日志的还原...3.第一步就是打开数据库备份事务日志,注意的是要切记事务日志的选项里面要选择备份至末尾,并使数据库处于还原状态。 ? ? 3.然后可以看到还原状态数据库的这样的标志,进行数据库事务还原 ? ?...此处的要点是选择目标时间一定要选择错误操作的时间点之前的时间,而不是事务日志备份的时间以及完整备份的时间之后。 4.还原后查看数据表 ? 总算是能够回到之前的状态。...在实际的环境中难免有误操作,甚至恶意的操作引起的种种数据库问题,这个时候就要提醒我们一定要建立好良好的备份机制,我的建议就是对于生产数据库进行定期的完整备份,当然为了尽量减少误操作和还原时间,在完整备份周期里面还可以加入事务日志备份来提高效率...除此之外,还有一点我这里没有体现也是很重要的一点对于生产数据库而言,进行事务日志还原的时候,一定要注意最好是采用将新建一个测试实例针对新的数据库实例进行数据还原然后根据还原事务日志的结果来还原正式数据库的数据表

1.1K90

事务日志还原的次意外的操作失误

前几天新发布的一套程序发生了一次意外的操作失误,程序员修改某个表的指定范围的指定字段的时候,误操作导致更新操作没有执行where,直接引起该表指定字段全部变为更新字段,为了解决这个问题,特意使用了事务日志的还原...3.第一步就是打开数据库备份事务日志,注意的是要切记事务日志的选项里面要选择备份至末尾,并使数据库处于还原状态。...3.然后可以看到还原状态数据库的这样的标志,进行数据库事务还原 此处的要点是选择目标时间一定要选择错误操作的时间点之前的时间,而不是事务日志备份的时间以及完整备份的时间之后。...在实际的环境中难免有误操作,甚至恶意的操作引起的种种数据库问题,这个时候就要提醒我们一定要建立好良好的备份机制,我的建议就是对于生产数据库进行定期的完整备份,当然为了尽量减少误操作和还原时间,在完整备份周期里面还可以加入事务日志备份来提高效率...除此之外,还有一点我这里没有体现也是很重要的一点对于生产数据库而言,进行事务日志还原的时候,一定要注意最好是采用将新建一个测试实例针对新的数据库实例进行数据还原然后根据还原事务日志的结果来还原正式数据库的数据表

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

    Kafka日志分段与消息查找

    Kafka作为一个消息中间件(后面Kafka逐渐转向一个流失处理平台KafkaStream),消息最终的存储都落在日志中。...Kafka的消息最终发送是以topic下的分区为最终目标的,因此Kafka的日志存储也是以分区为单位。...从日志文件中我们可以看出,我们可以看出消息集合的起始位移、结束位移、时间戳以及具体的消息的位移、时间戳、header还有内容(payload)等信息。...触发日志分段主要有以下条件: 当前日志段日志文件大小超过了log.segment.bytes配置的大小 当前日志段中消息的最大时间戳与系统的时间戳差值超过了log.roll.ms配置的毫秒值 当前日志段中消息的最大时间戳与当前系统的时间戳差值超过...postion,然后在日志文件中从postion处往后遍历,找到offset等于要查找的offset对应的消息。

    4.2K10

    电商Push消息系统架构日志

    概述Push消息系统是很多APP的基础功能,是触达用户的一个非常重要的手段,对于提高产品活跃度、提高功能使用体验、提升用户粘性、提升用户留存率都会起到重要作用。...为什么Push消息推送是APP的基础配置整体架构业务场景,推送消息支持公司各个BU,比如物流消息、订单消息、客服消息、定向营销推广消息消息接入,该模块对接所有的业务消息接入,支持RPC、HTTP、MQ等多协议方式接入消息业务处理...,主要是对消息进行加工处理,满足推送平台的格式要求推送服务,获取处理好的数据,调用推送平台的接口推送平台,主要是对接手机厂商、自建通道的推送功能消息存储,消息的数据处理和流转,使用redis进行存储,使用消息队列方式...,消息同时存储在MySQL中管理后台,针对定向营销人群包推送任务管理、人群包管理、任务管理、数据统计展示。...Push&消息中心流程上图描述Push系统核心流程智能化PushPush系统要想千人千面,更加精准的推送,接入算法模型能力是必须的,实时性的事件驱动推送。

    2.5K50

    Kafka —— 弥合日志系统和消息队列的鸿沟

    我们构建了一个崭新的针对日志处理的消息系统,名为 Kafka。Kafka 兼顾了日志聚合需求和消息队列需求。...但它们并不能无缝适配日志处理需求,主要有以下几点原因: 语义侧重点不同 传统消息队列侧重于提供灵活的消息送达保证,比如多个队列的事务问题、消息送达的 ACK 确认、消息的严格保序等等。...消费者收到消息后,计算出下一条消息的偏移量,以进行下一次拉取请求。Kafka 中硬盘中日志和内存中索引的布局如下图(每个框框中数据即表示某条消息的偏移量): 高效的传输优化。...当前,我们的 Kafka 集群中每天会产生数以亿计的日志消息,总量大约在数百 G 字节。...[4] 一般来说,数据在交付时,由于系统意外宕机、网络抖动等问题,会出现数据条目丢失的情况。在这个情况下,如果我们不进行介入,那么所有就是提供至多一次的语义(at-most-once)。

    76330

    DDIA:日志和消息队列只有一线之隔

    这就是基于日志的消息代理(log-based message brokers)的基本思想。 使用日志作为消息存储 日志是一种基于硬盘的、只允许追加的记录序列。...对比日志和传统消息 日志和传统消息的一个很大不同是,不会在消费者消费完后立即删除。因此基于分区日志的消息系统可以很容易的支持并行消费( fan-out)。...如果你想要高吞吐,每条消息能够很快处理,且消息间顺序很重要,则基于日志的消息代理工作得更好。...但实际上,我们通常不可能时刻都能打满磁盘带宽,因此一块盘通常能够保存更长时间的消息,数天甚至数周。 但在基于日志的消息代理中,日志保存的长短,并不会影响消息的吞吐。因为所有的消息都是要落盘的。...当一个消费者主动下线或者意外宕机时,它不会对线上系统造成任何影响——除了留下一个专属于它的消费者偏移量外。 这种设定与传统的消息代理形成鲜明对比。

    20210

    如何手动将消息添加到Linux系统日志文件

    日志文件是自动生成的,并保存在公共目录-/ var / log /下。我们还可以将消息手动添加到Linux系统日志文件中。例如,设置日志服务器后,您可能要检查日志服务器是否正常运行。...使用Logger命令将消息添加到Linux系统日志文件 ogger命令是util-linux软件包的一部分,因此请不要安装它。下面给到大家一些示例: 手动将条目添加到系统日志文件绝对简单!...正如您在输出中所看到的,给定的消息已添加到syslog文件中。 注意: 不同的Linux操作系统将日志消息存储在不同的文件中。我建议您查看/ var / log /目录,以了解日志存储在哪些文件中。...将消息从文件添加到日志文件 也可以将文件中的条目添加到我们的系统日志文件中。 让我们创建一个示例文本文件。...记录器将消息发送到远程日志服务器 要将消息发送到在特定端口上运行的远程syslog服务器,请运行: $ logger "Welcome to OSTechNix" --server <hostname-or-ip

    3.8K30

    日志消息这顿排骨它不香嘛?

    使用日志消息进行变量监控和程序错误,可以非常清晰的区分日志消息和输出信息,是进行程序开发时较常用的错误排查方法。 Hello!...这种方式按重要性将日志消息进行了分类,五个日志级别如下表所示,从最不重要到最重要,利用不同的日志函数消息,可以按某个级别计入日志并且输出。 ?...日志消息作为一个字符串,传递给这些函数,进行日志级别的划分只是为了方便对程序中可能出现的错误的异常判断,归根到底,具体使用哪种级别的日志消息,还是需要根据你的程序来定的。...日志级别的好处就在于,我们可以改变想要看到的日志消息的优先级,向basicConfig()函数传入logging DEBUG作为level的关键字参数,这将显示所有日志级别的消息。...4 禁用日志 在调试完成以后,我们当然不希望所有这些日志出现在屏幕之上,这时我们需要调用logging.disable函数禁用这些消息,这样这些日志消息就不必进入到程序之中手动删除或者将所有日志注释掉,

    59110

    Kafka技术知识总结之九——Kafka消息压缩与日志压缩

    Kafka 消息压缩与日志压缩 9.1 消息压缩 日志 v2 版本的压缩,优化内容: RecordBatch 与 Record:对多条消息 (Record) 进行压缩,称为消息集 (RecordBatch...Kafka 日志压缩主要是针对两种数据: Key 值相同的数据,压缩后只记录同 Key 值最新的一条数据; Key 不为空,Value 为空的消息,这种消息在日志压缩过程中会被设置为墓碑消息; 9.2.1...日志压缩结构 日志压缩是对分区进行的。...对于每个分区的日志分段,可以将其分成两个部分: clean:被清理的部分,所以它的消息偏移量是断续的; dirty:没有被清理的部分,该部分的消息偏移量连续的; 9.2.2 日志压缩流程 日志清理线程定时执行压缩任务...碰撞情况); 清理过程中,同时会标记墓碑消息,在后续周期的日志清理过程中,将墓碑消息清除; 每次清理对日志分段分组,以大小之和不超过 1G 的日志文件,或者大小之和不超过 10M 的索引文件为一组,进行压缩处理

    1.3K20
    领券