一、前言对,没错,我又水了好一阵子,深刻反思寄几。前段时间,工作项目上出于对excel等批量操作可能出现误操作的问题,要求提供一个能够根据操作批次进行数据的能力。在开发的过程中接触到了MySQL的Binary Log,感觉有些收获,记录一下。二、Binary Log的概念首先我们要了解一下什么是Binary Log(详情点进去看):Binary Log(二进制文件),包含了描述数据库更改的“事
转载 2024-06-06 09:13:03
70阅读
一、binlog2sql介绍binlog2sql是国内MySQL大佬danfengcao使用python开发,许多MySQL爱好者参与改进的一款MySQL binlog解析软件。根据不同选项,可以得到原始SQL、SQL、去除主键的SQL等。github地址为:https://github.com/danfengcao/binlog2sql该工具主要用于:数据快速回(闪);从binlog生成
转载 2023-11-11 17:25:53
194阅读
MySQL事务机制undo logredo logMySQL事务隔离级别 事务机制原子性,就是指一个事务是一个不可分割的工作单位,其中的操作要么都做,要么都不做;如果事务中的一个sql语句执行失败,则已执行的语句必须数据库会退回到事务前的状态。我们可以这么理解,就是说如果事务失败了,那么它对我们的数据库是没有任何影响的。undo logInnDB引擎还提供了两种事务日志:red
转载 2023-06-08 21:37:17
608阅读
1.mysql进行事物操作关闭autocommit=OFF 写到主配置文件/etc/my.cnf重启数据库 systemctl   restart  mariadb查看修改状态  show variables like 'autocommit'2.倒数数据mysql hellodb< testolg.sqlcall sp_testlog因为这个是脚本
转载 2019-07-09 10:53:00
500阅读
MySQL中有六种日志文件,分别是:重做日志(redo log)、日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general log),中继日志(relay log)。其中重做日志和日志与事务操作息息相关,二进制日志也与事务操作有一定的关系,这三种日志,对理解MySQL中的事务操作有着重要的意
     一般的网站应用中,总会有部分二次数据(处理过的原始数据)展现给前台,比如,拿购物网站来说,购买进口奶粉最多的用户群体;哪类产品消费增长趋势最旺盛;用户的消费历史归类等都是二次数据。由于这部分数据通常是分析后的数据,而且实时性不强,因此这个过程通常是通过离线计算得到。为了展现给前台,需要将这部分数据回流到关系型数据库【离线计算集群一般都是KV存储,不支持SQL
转载 2023-08-25 22:28:19
126阅读
# MySQL数据详解 在数据库操作中,我们经常需要对数据进行修改和处理。然而,有时我们可能会犯错误,导致数据被错误地修改或删除。为了解决这个问题,MySQL提供了一种操作,可以将数据库恢复到之前的状态。 ## 什么是数据数据是指将数据库的状态恢复到之前的某个时间点或操作之前的状态。当我们在进行复杂的数据操作时,如果出现错误或意外情况,可以使用回操作来撤销对数据库的更改
原创 2023-09-10 17:11:54
247阅读
展开全部MySQL8.0 开始支持原⼦ DDL(atomic DDL),数据字典的更新,存储引擎操作,写⼆进制日62616964757a686964616fe58685e5aeb931333433643035志结合成了一个事务。在没有原⼦DDL之前,DROP TABLE test1,test2;如遇到server crash,可能会有test1被drop了,test2没有被drop掉。下面来看下在
## MySQL 数据数据库的日常操作中,我们经常需要对数据进行修改、删除、插入等操作。有时候,我们可能会不小心执行了一个错误的操作,导致数据库中的数据发生了错误或者丢失。此时,数据就是一个非常重要的功能,它可以帮助我们恢复到之前的状态,避免数据的损失。 ### 什么是数据数据(Rollback)是数据库管理系统提供的一种特性,它允许我们撤销或者取消已经执行的事务,将
原创 2023-07-20 19:14:40
940阅读
linux 服务一键更新发布shell脚本#!/bin/bash set -e DATE=$(date +%Y%m%d%H%M) # 基础路径 BASE_PATH=/home/mico-service-gateway # 编译后 jar包 的地址 SOURCE_PATH=$BASE_PATH/build # 服务名称。同时约定部署服务的 jar 包名字也为它。 SERVER_NAME=mic
转载 2024-04-07 13:40:00
55阅读
## 如何编写MySQL脚本数据库开发过程中,经常会遇到需要撤销之前的操作并回数据库的情况。为了保证数据的完整性和一致性,编写一个可靠的MySQL脚本非常重要。下面将介绍如何编写一个简单的MySQL脚本,并提供示例代码。 ### 步骤一:明确需要回的操作 在编写回脚本之前,首先要明确需要回的操作是什么。比如,如果之前执行了一个创建表的操作,那么脚本需要包含删除表的
原创 2024-04-17 04:45:56
285阅读
# MySQL 脚本存储过程 在数据库开发过程中,我们经常需要对数据进行修改,但是有时候我们可能会遇到一些错误,这时候就需要回操作。在MySQL中,我们可以通过存储过程来实现脚本,以确保数据的一致性和完整性。 ## 存储过程简介 存储过程是一组为了完成特定功能的SQL语句集合,它允许用户将一段代码封装起来,以便在需要时重复使用。存储过程可以接收参数,也可以返回结果,这使得它们在处理
原创 2024-07-26 04:02:56
17阅读
当我们在使用 MySQL 进行数据库操作时,有时由于错误的操作或意外的故障,可能需要对数据库进行。这篇文章将详细讲述如何创建一个 MySQL脚本,以及相关的背景、解决方案和优化建议。 ### 问题背景 在日常数据库管理中,用户可能会执行一些修改操作,比如更新或删除数据。如果这些操作在执行后发现存在问题,数据则显得尤为重要。比如,在某个电商系统中,用户在进行数据库的批量修改时,错
原创 6月前
17阅读
## 实现MySQL判断脚本的步骤 作为一名经验丰富的开发者,我将教会你如何实现MySQL判断脚本。以下是整个实现过程的步骤: | 步骤 | 描述 | | --- | --- | | 步骤一 | 连接到MySQL数据库 | | 步骤二 | 创建保存信息的表 | | 步骤三 | 开启事务 | | 步骤四 | 执行数据库操作 | | 步骤五 | 判断是否出现错误 | | 步骤六 |
原创 2024-01-04 09:27:59
59阅读
如题,因为操作人员的问题,需要对数据数据进行。可以看到,设置了7天自动备份,且是物理冷备。什么是物理冷备?科普一下:(1)热备:在数据库运行时,直接进行备份,对运行的数据库没有影响。(2)冷备:在数据库停止运行的时候进行备份,这种备份方式最为简单,只需要拷贝数据库物理文件即可。(3)温备:同样是在数据库运行的时候进行备份的,但对当前数据库的操作会产生影响。热备份的缺点:1.尽量不要出错,否则
1、背景:DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回。传统恢复方法是利用备份重搭实例,再应用去除错误sql后的binlog来恢复数据。此法费时费力,甚至需要停机维护,并不适合快速回。也有团队利用LVM快照来缩短恢复时间,但快照的缺点是会影响mysql的性能 2、闪原理: MySQL binlog以event的形式,记录了MySQ
转载 2023-09-04 12:21:18
153阅读
# MySQL 执行的 MySQL 脚本数据库管理中,事务(Transaction)是一个重要的概念,它代表了一组操作的集合。这些操作要么全部成功,要么全部失败。如果其中一个操作出现错误,我们需要通过“”来撤消已执行的操作。在 MySQL 中,的实现和使用非常方便,本文将深入探讨如何使用 MySQL 脚本执行,并通过代码示例来阐明其使用方法。 ## 事务的基本概念 在数据
原创 2024-09-13 05:46:17
68阅读
在《写数据库同时发mq消息事务一致性的一种解决方案》一文的方案中把分布式事务巧妙转成了数据库事务。我们都知道关系型数据库事务能保证数据一致性,那数据库到底是怎么设计事务这一特性的呢?一、MySQL事务模型ACIDMySQL是一个多引擎数据库,其中InnoDB支持数据库事务,也是最常用的引擎。下边就介绍InnoDB的事务模型MySQL官方文档对事务是这么描述的“事务是可以提交或的原子工作单元。当
innoDB 的多版本并发控制(MVCC) 1. MVCC定义 1.1定义 MVCC全称Mutli Version Concurreny Control,多版本并发控制,也可称之为一致性非锁定读;它通过行的多版本控制方式来读取当前执行时间数据库中的行数据。实质上使用的是快照数据,这样就可以实现不加锁读。MVCC 主要应用于 Read Commited 和 Repeatable read 1.2一些
#!/bin/bash## Artems rollback  Script.# Author: Rui.Xu# Time: 07/2018#rm -fr /app/tmp/artemis.wardir1=/app/tmp/backup-package/dir2=`ls -l $dir1 | tail -n1 |awk  '{print $NF}'`yes | c
原创 2018-08-03 15:17:29
919阅读
  • 1
  • 2
  • 3
  • 4
  • 5