简介: 数据库运行过程中难免会发生误操作,特别是在测试环境 开发人员或测试人员有时会误删或者更新错误某些数据。这时可以用binlog闪回DML操作。...相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易。...1.databaseNames 指定需要回滚的数据库名。多个数据库可以用“,”隔开。如果不指定该参数,相当于指定了所有数据库。 2.tableNames 指定需要回滚的表名。多个表可以用“,”隔开。...3.start-position 指定回滚开始的位置。如不指定,从文件的开始处回滚。请指定正确的有效的位置,否则无法回滚 4.stop-position 指定回滚结束的位置。如不指定,回滚到文件结尾。...在生产环境中不要修改这个级别,否则输出过多 12.include-gtids 指定需要回滚的gtid,支持gtid的单个和范围两种形式。
1.先开启binlog log-bin = /var/log/mysql/mysql_bin #binlog日志文件,以mysql_bin开头,六个数字结尾的文件:mysql_bin.000001,并且会将文件存储在相应的...xxx/xxx路径下,如果只配置mysql_bin的话默认在C:\ProgramData\MySQL\MySQL Server 5.7\Data下; binlog_format = ROW #binlog...4.进入mysql查看一下开始和结束的pos位置,第一个框是删除,下面的是更新,开始位置和结束位置219--498 563---881 ?...show binlog events in 'mysql-bin.000352' 5.用binlog2sql打印出sql语句和逆向回滚的sql语句,保存并导入 python binlog2sql.py..., 4, '2019-04-08 10:57:06', 109999, '0/1/2/4/6/', 0); #start 4 end 422 time 2020-02-10 17:40:14 增加开始和结束位置
,当事务回滚时或者数据库崩溃时,可以利用 undo log来进行回退。...undolog的工作原理: 在更新数据之前,MySQL会提前生成undo log日志,当事务提交的时候,并不会立即删除undo log,因为后面可能需要进行回滚操作,要执行回滚(rollback)操作时...Rollback Segment(回滚段) InnoDB在undo tablespace中使用回滚段来组织undo log。...同时为了保证事务的并发操作,在写undo log时不产生冲突,InnoDB使用 回滚段 来维护undo log的并发写入和持久化;而每个回滚段 又有多个undo log slot。...,回滚段可以有用的最大page数。
大家好,又见面了,我是全栈君 MySQL服务器的主从配置,本来是一件很简单的事情,无奈不是从零开始,总是在别人已经安装好的mysql服务器之上 ,这就会牵扯到,mysql的版本,启动文件,等一些问题。...=mysql #不需要备份的数据库,多个写多行 3、打开从机B的my.cnf,输入 server-id = 2 log_bin = /var/...#不复制某个库 4、同步数据库 有多种方法,我说最笨的一种,先mysqldump导出主机A的数据test为 test.sql 然后在,从机B上建立数据库test,mysql导入 test.sql到test...#需要 备份的数据库 binlog-do-db = hhy #不需 要备份的数据库 #binlog-ignore-db = ** 从服务器上设置 server-id=2 #(配置多个从服务器时依次设置...,如果备份多个数据库,重复设 置这个选项即可 重启主从 slave start; show slave status; Slave_IO_Running 和 Slave_SQL_Running 两列的值都为
简介:MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具。该工具通过解析v4版本的binlog,完成回滚操作。相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易。...* 1.databaseNames 指定需要回滚的数据库名。多个数据库可以用“,”隔开。如果不指定该参数,相当于指定了所有数据库。 2.tableNames 指定需要回滚的表名。...3.start-position 指定回滚开始的位置。如不指定,从文件的开始处回滚。请指定正确的有效的位置,否则无法回滚 4.stop-position 指定回滚结束的位置。如不指定,回滚到文件结尾。...请指定正确的有效的位置,否则无法回滚 5.start-datetime 指定回滚的开始时间。注意格式必须是 %Y-%m-%d %H:%M:%S。...在生产环境中不要修改这个级别,否则输出过多 12.include-gtids 指定需要回滚的gtid,支持gtid的单个和范围两种形式。
BEGIN TRANSACTION; — 插入2条同样的数据,使主键重复,引发错误后回滚事务....; PRINT(‘Main.错误状态代码 = ‘ + STR(ERROR_STATE())); PRINT(‘Main.错误信息 = ‘ + ERROR_MESSAGE()); — 回滚事务...而每一次Commit Transaction都会使@@TranCount减1,而RollBack Transaction会回滚所有的嵌套事务包括已经提交的事务和未提交的事务,而使@@TranCount置...SELECT @@TRANCOUNT –值为1 ROLLBACK TRAN SELECT @@TRANCOUNT –值为0 三、 在SQL Server中使用rollback会回滚所有的未提交事务状态...,但是有些时候我们只需要回滚部分语句,把不需要回滚的语句提到事务外面来,虽然是个方法,但是却破坏了事务的ACID。
回滚是非常常见的运维操作,我们可以通过jenkins选择对应的tag,或者选择对应的文件进行回滚,这里先介绍下利用备份文件来进行回滚 大体思路就是:现在jenkins主机上执行构建任务,同时对打包好的java...代码做一次备份,备份格式可以是包名+项目名+日期的格式,将备份好的包放到固定目录,当下一次选择构建回滚时,可以以参数的形式选择对应的要回滚的包名,然后将包名通过参数传给脚本,脚本则将包发到目标主机上完成回滚操作...RollBack后显示"] } 这里是放在${JENKINS_HOME}/workspace/backup目录下,根据job名进行目录区分 以上是非常关键的一步,需要写Groovy script脚本,把备份的文件展示出来...dst_dir/${jar_file}.war ssh root@$dst_ip "/shell/run-tomcat-app-manage.sh" ;; esac 4、开始构建 以上就是关于备份文件来进行回滚的
专栏持续更新中:MySQL详解 一、引入 undo log 一般数据库引擎默认工作在事务的中间两个隔离级别: TRANSACTION_READ_COMMITTED,已提交读,oracle默认工作级别...不允许读取未commit的数据,这个级别仍然允许不可重复读和虚读产生。 TRANSACTION_REPEATABLE_READ,可重复读,MySQL默认工作级别。...事务日志分为undo log(回滚日志) 和 redo log(重做日志) 二、undo log 1. undo log的概念 undo log和redo log统称事务日志,不同于binlog是MySQL...(MVCC)下读操作(快照读)的关键技术 2. undo log的作用 undo log回滚日志的主要作用: 事务发生错误时回滚rollback,数据更新之前,会把原始数据保存在回滚日志中,保证事务出错回滚或者我们手动回滚的时候...从当前行的DB_ROLL_PTR可以访问到旧数据,进行回滚就很简单了 三、undo log举例 原始的user表如下: MVCC机制会对这张表增加2列,修改当前数据的事务ID(DB_TRX_ID)和指向
事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位,事务回滚是指将该事务已经完成的对数据库的更新操作撤销,在事务中,每个正确的原子 操作都会被顺序执行,直到遇到错误的原子操作...ROLLBACK:也可以使用ROLLBACK WORK,两者也是等价的,回滚会结束用户的事务,并且会撤销正在进行的所有未提交的修改。...事务T2读取到了T1更新后的行,然后T1执行回滚操作,取消了刚才所做的修改。...mysql事务回滚怎样实现的代码可以参考此bolg:http://bbs.csdn.net/topics/390876901 要同时修改数据库中两个不同表时,如果它们不是一个事务的话,当第一个表修改完...而当你把它们设定为一个事务的时候,当第一个表修改完,第二表修改出现异常而没能修改,第一个表和第二个表都要回到未修改的状态,这就是所谓的事务回滚。
数据库的里面的FLASHBACK 功能是一个让人刮目相看的功能,如果你做错了什么怎么能将那段时间的数据恢复,并且还让生产的应用不停止,这是一个数据库管理员都想拥有的功能, SQL SERVER 需要借助第三方软件的功能...,可以完成数据的回滚和恢复,ORACLE 独有的FLASHBACK 功能,以及POSTGRESQL 的pg_dirtyread 功能,都可以从某些方面来进行数据的回滚和数据的找回。...MYSQL的数据找回和回滚使用的是BINLOG2SQL 这个开源的工具,其中的原理如果你懂得MYSQL的binlog 原理,则你会很快明白其可以恢复数据的方式。...如果你想产生回滚的语句,直接在 上图语句的后面添加 flushback ?...所以有了这个工具,基本上大部分的误操作都能进行数据的找回和恢复。
前提简述 Sqlplus 是一个用于与OracleDatabase交互和执行查询的工具,所以我们要安装的是命令行工具。...imp|exp 是oracle导入导出工具,由于要备份回滚,所以我们也要安装这两个命令工具。
墨墨导读:本文介绍MySQL数据库备份之主从同步配置,通过将腾讯云服务器上的MySQL备份到本地服务器中这个例子来做出展开解释。 主从同步意义?...机制 ---- MySQL服务器之间的主从同步是基于二进制日志机制,主服务器使用二进制日志来记录数据库的变动情况,从服务器通过读取和执行该日志文件来保持和主服务器的数据一致。...配置主从同步的基本步骤 ---- 有很多种配置主从同步的方法,可以总结为如下的步 在主服务器上,必须开启二进制日志机制和配置一个独立的ID开启方法 在每一个从服务器上,配置一个唯一的ID,创建一个用来专门复制主服务器数据的账号...IP地址和登陆授权,二进制日志文件名和位置 案例:将腾讯云服务器上的MySQL备份到本地服务器中。...执行完成后,主数据库内容就备份到了从服务器中 ?
导读:本文介绍MySQL数据库备份之主从同步配置,通过将腾讯云服务器上的MySQL备份到本地服务器中这个例子来做出展开解释。 主从同步意义?...机制 ---- MySQL服务器之间的主从同步是基于二进制日志机制,主服务器使用二进制日志来记录数据库的变动情况,从服务器通过读取和执行该日志文件来保持和主服务器的数据一致。...配置主从同步的基本步骤 ---- 有很多种配置主从同步的方法,可以总结为如下的步 在主服务器上,必须开启二进制日志机制和配置一个独立的ID开启方法 在每一个从服务器上,配置一个唯一的ID,创建一个用来专门复制主服务器数据的账号...IP地址和登陆授权,二进制日志文件名和位置 案例:将腾讯云服务器上的MySQL备份到本地服务器中。...第八步: 测试上面创建的容器查看原始数据库中信息 mysql -uroot -pmysql -h 127.0.0.1 --port=8306 第九步: 备份主服务器原有数据到从服务器 在远程腾讯云服务器中执行数据库备份命令
主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。...机制 Mysql服务器之间的主从同步是基于二进制日志机制,主服务器使用二进制日志来记录数据库的变动情况,从服务器通过读取和执行该日志文件来保持和主服务器的数据一致。...配置主从同步的基本步骤 有很多种配置主从同步的方法,可以总结为如下的步 在主服务器上,必须开启二进制日志机制和配置一个独立的ID 开启方法 在每一个从服务器上,配置一个唯一的ID,创建一个用来专门复制主服务器数据的账号...IP地址和登陆授权,二进制日志文件名和位置 案例:将腾讯云服务器上的mysql备份到本地服务器中。...执行完成后,主数据库内容就备份到了从服务器中 ?
一、MySQL主从备份 为保证数据库的安全和效率,可以使用主从备份,当有写的操作可以在主服务器上操作,操作完之后备份到从服务器上,当有读操作时可以访问从服务器,这样在一定程度上保证了数据库的安全,当主服务器的...2.在master和slave上安装mysql和mysql-server 注:mysql master数据库版本和slave数据库版本要相同,或者slave版本比master高 mysql安装可以yum...服务,成功 也可以查出数据库 keepalived+mysql主从同步成功 四、MySQL读写分离 mysql读写分离是在mysql主从同步的基础上做的,mysql主服务器负责写,多台mysql从服务器负责读...,mysql主从同步仅仅是把mysql主服务器的数据库同步到了mysql从服务器上,如果要实现读写分离,还需要一个服务器去协调。...主从备份+mysql读写分离配置完成。
事务回滚机制 其实,讨论MySQL的事务回滚机制,也就是在说MySQL的事务原子性是如何实现的(关于事务之前文章中有过简单介绍)。...所谓原子性,就是指一个事务是一个不可分割的工作单位,其中的操作要么都做,要么都不做;如果事务中的一个sql语句执行失败,则已执行的语句必须回滚,数据库会退回到事务前的状态。...我们可以这么理解,就是说如果事务失败了,那么它对我们的数据库是没有任何影响的。 实现原理 在说明原理之前,需要首先介绍一下MySQL的事务日志。...MySQL的日志有很多种,如二进制日志、错误日志、查询日志、慢查询日志等,此外InnDB引擎还提供了两种事务日志:redo log(重做日志)和undo log(回滚日志)。...当事务对数据库进行修改时,InnDB会生成对应的undo log;如果事务失败或者调用了rollback,导致事务回滚,便可以利用undo log中的信息将数据回滚到修改之前的样子。
message:信息 Create new tag:创建新的tag Update new tag: 上传新的tag Target remote name:远端的名字,这里和上面设置
一、Mysql中的数据备份: Mysql中数据备份使用的命令是:mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。...; 参数解析: dbname:要备份数据库的名称; table1和table2参数表示的是需要备份的数据库表的名称,假如为空则表示需要备份整个数据库; BackupName.sql表示的是将数据库备份到指定的这个以后缀米国....sql的文件中,这个文件的前面可以执行一个详细的绝对路径下; 演示备份数据库实例: ①、 查看当前Mysql数据库下存在哪些数据库和备份数据库中存在哪些表,表中存在哪些数据; 图1: 如上图的几个操作中使用到了...40101是MySQL数据库的版本号,如果MySQL的版本比1.11高,则/*!40101和*/之间的内容就被当做SQL命令来执行,如果比4.1.1低就 会被当做注释。...2、Mysql备份多个数据库: 数据库备份其实都是差不多的语句,他们最基本的差异就是添加一些命令用于区别数据库备份的深度和广度; 备份语法: mysqldump -u username -p --databases
目录 准备实验素材 更新镜像的语法 查看发布历史 回滚到上一个版本 回滚指定版本 查看回滚状态 参考 使用kubernetes 进行升级的时候并不需要停止业务,kubectl 支持滚动升级的方式,每次更新一个...但k8s本身也支持版本记录和回滚....比如, 刚才查看了最近的几条发布历史记录, 现在回滚到上一个版本, 即revision=3....回滚指定版本 除了上面直接回滚到上一次, 也可以指定具体某个版本. 比如回滚到revision=1....undo deployment/hello-nginx --to-revision=1 ps: deployment/hello-nginx 表示 deployment hello-nginx 查看回滚状态
领取专属 10元无门槛券
手把手带您无忧上云