首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL恢复步骤详解

万幸的是,只是写花了,而不是哪位大神在DB里面玩drop table。...虽然已经很久没进行恢复了,但大致步骤都还在脑海中,没花多久就搞定了~ 言归正传,记录一下恢复的步骤和关键点,提醒自己也提醒大家。...具体操作举例如下: ### 使用mysqlbinlog将二进制日志转化为明文SQL日志 mysqlbinlog mysql-bin.000123 > /data1/000123.sql ### 使用linux...第四步: 在主库上将写花的改名,其目的有二个,其一,停止对这个的写入(当然这对业务会有一定的影响,会出现一段时间内的写入失败报警,需要提前和业务部门联系好),其二,一旦恢复失败,至少还有一个写花的存在...第五步: 基本DBA的事情就没有了,这时候就需要告诉开发同学恢复完毕,进行应用测试及数据正确性效验了。如果一切都没有问题之后,我们需要将刚才rename的drop掉,整个恢复操作就算大功告成了。

2.2K10

mysqlbinlog命令详解 Part 10 恢复MySQL

命令的详解 mysqlbinlog是MySQL中用来处理binlog的工具 上节的内容为新建一个备份策略 这节内容讲如何使用mysqldump恢复MySQL 1....-p 1.3 恢复至最新状态 如果损坏数据库的二进制文件还存在,则可利用其进行恢复 假设周五零点到九点的二进制文件为mysql-bin.000006 mysql-bin.000007 则可以使用如下命令...shell> mysqlbinlog mysql-bin.000006 mysql-bin.000007 | mysql -h127.0.0.1 -usystem -P3306 -p 1.3.1 基于时间点恢复...这里我们同样可以恢复到早上8点 首先使用mysqlbinglog查看早上8点在哪个二进制文件中 这里假设在mysql-bin.000007 中 之后用如下语句恢复 mysqlbinlog --stop-datetime...我们同样可以通过事件的位置来进行恢复 我们假设一个drop的操作发生在master-bin.000007的位置100处 我们可以使用下面语句 mysqlbinlog --stop-position

84210

MySQL如何快速恢复(物理方式)

---+ | 1 | 张三 | | 2 | 李四 | | 3 | 王二 | +----+--------+ 3 rows in set (0.00 sec) 物理复制方法介绍 上述物理复制的方法...简单总结一下上述物理复制过程: 1、create table like语法创建一个相同结构的空的目标 2、目标执行alter table discard,丢弃ibd文件 3、源执行flush...table for export语法,生成.cfg文件,并锁 4、使用cp命令复制源cfg文件和ibd文件为目标 5、unlock tables 释放源的cfg文件和锁 6、alter table...table_name.cfg的文件 5、处理完复制后,需要使用UNLOCK tables释放源的MDL锁或者断开连接。...注意: 因为flush table for export锁,所以这种方法更适合在从库上停掉复制关系,然后执行这个复制的操作。如果有业务操作当前的源,需要谨慎考虑。

1.6K80

从全备中恢复库或,小心有坑!

不清楚你有没有做过恢复恢复场景可能就比较多了,比如我想恢复某个库或某个等。那么如何从全备中恢复库或,这其中又有哪些隐藏的坑呢?这篇文章我们一起来看下。...1.如何恢复库或 前面文章有介绍过 MySQL 的备份与恢复。...-uroot -pxxxx --one-database testdb < all_db.sql 除了上述方法外,恢复库或还可以采用手动筛选的方法。...这个时候 Linux 下大名鼎鼎的 sed 和 grep 命令就派上用场了,我们可以利用这两个命令从全备中筛选出库或的语句,筛选方法如下: # 从全备中恢复库 sed -n '/^-- Current...all_db.sql | grep --ignore-case 'insert into `test_tb`' > /tmp/test_tb_data.sql 2.小心有坑 对于上述手动筛选来恢复库或的方法

1K30

CentOS下利用mysqlbinlog恢复MySQL数据库

我今天就因为不小心删除了某个数据库,但最后的备份是1个礼拜前的,唯一能解决的办法就是通过mysqlbinlog恢复了。...解决方案如下: 如果MySQL服务器启用了二进制日志,你可以使用mysqlbinlog工具来恢复从指定的时间点开始(例如,从你最后一次备份)直到现在或另一个指定的时间点的数据。...指定恢复时间 对于MySQL5.1.54,可以在mysqlbinlog语句中通过–start-date和–stop-date选项指定DATETIME格式的起止时间。...举例说明,比如在今天下午14:02(今天是2012年3月15日),不小心执行SQL语句删除了一个数据,但发现没有最新的备份(当然,这只是开发环境,并不是正式的生产环境,正式环境还得定时做数据备份)。...要想恢复和数据,可以通过mysqlbinlog恢复指定时间的备份,输入: mysqlbinlog –stop-date=”2012-03-15 14:02:00″ /data1/log/mysql/mysql-bin

4.7K110

SQL Server数据库的数据恢复

SELECT CONVERT(INT,RAND()*1000),'AA',GETDATE()GO 30这里插入了30条数据select count(*) from Tab where name='AA';当前的总行数....20240117.2.bak' WITH COMPRESSION,INIT,FORMAT,NAME = N'OldDatabase.log.20240117.2.bak';7、做一个作update全更新操作...LSNupdate 对应的是LOP_MODIFY_ROW, delete对应的是LOP_DELETE_ROWS, insert对应的是LOP_INSERT_ROWS-- 填入库名和操作类型,即可看到某个的操作历史类型...这里的文件路径是随手写的,因为只是临时数据恢复用下,用完这个库就删掉了,也不会产生多大影响4、再逐个恢复事务日志-- 恢复第一个日志RESTORE LOG [NewDatabase] FROM DISK...= N'D:\OldDatabase.log.20240117.1.bak' WITH NORECOVERY, NOUNLOAD, STATS = 10;-- 恢复第N个日志(步骤省略)-- 恢复最后一个日志

31510

MySQL用全库备份数据恢复数据

备份数据库时,采用了全库备份,但是因为某些原因需要回滚一个的数据到备份数据库上,如果回滚整个库就比较费时间,因为可能这个只有几十M,但是其它可能有十几上百G,这时候就需要将需要恢复提取出来了...现在有备份库fdcsqlMySQL-2018_11_30-03_00_01.sql,里面有多张,现在需要恢复其中fdc_document这张的数据 提取建表语句 sed -e '/....d;}' -e 'x;/CREATE TABLE `名`/!d;q' mysqldump.sql(备份文件的文件名) sed -e '/./{H;$!...40101 SET character_set_client = @saved_cs_client */; 提取数据 grep 'INSERT INTO名' mysqldump.sql(备份文件的文件名...,就可以正常恢复数据了 建库建 先创建数据库,再根据上面的SQL语句创建fdc_document 导入数据 MySQL [document]> souce /data/backup/mysql/

91610

oracle恢复数据

误删或者delete from XXX没有带条件清空后不要慌,能恢复的,咱有flashback table咱怕啥 只要删除的人没有加PURGE就好。...oracle还是够抗造的 一、删恢复 flashback table tablename_has_deleted to before drop 二、清数据恢复 1.确认一下数据对不对,是不是你想恢复的节点...yyyy-mm-dd hh24:mi:ss’); 国内要注意时区的问题,需要减8小时 有可能你用实际的时间点查询报错,ora-没记住,基本上是因为你输入时间太靠前了,系统都没到达这个时间点 2.恢复数据...TABLENAME_DATA_CLEANED as of timestamp to_timestamp(‘误操作的时间点前一丢丢’, ‘yyyy-mm-dd hh24:mi:ss’)); 谨慎一点先备份,视情况决定要不要清...create table TABLENAME_DATA_CLEANED_BAK as select * from TABLENAME_DATA_CLEANED – 备份一下如果表里有数据的话

1K10

RDS更新数据恢复

收到公司产品人员消息,让我恢复一个的数据 通过了解系统是公司很多年前的一个老系统,面向美国用户的,数据库是阿里云的rds 所在区为美国弗吉尼亚mysql版本为5.6,产品在update操作时候字段名称写错了...binlog日志进行恢复 登录rds控制台在备份恢复的日志备份中找binlog 发现binlog每4个小时备份一次,需要的日志没有下载列表 2.既然需要的日志,是不是可以通过全备进行恢复整个(由于是老系统这基本不会更新...),不过看到全备的文件压缩后30多个G就放弃这种方法(30G下载就需要很长时间了) 3.第三种方法远程获取binlog日志 mysqlbinlog --read-from-remote-server...远程获取Binlog日志 通过客户端连接实例,执行如下SQL语句,查看并记录logs中的Log_name列值,该值即为Binlog日志文件名,例mysqlbin.xxx。...原因是远程获取日志没有以二进制日志格式方式来保留日志解析不了,还是不能进行恢复 最后通过远程获取时加 -vv进行解析重定向到文件中 .

6.2K101

空间时间点恢复

在Oracle中,通常所有的空间都要在同一个时间点上保持一致。但实际工作中,有时我们需要在同一个数据库中,把部分数据恢复到不同的时间点。这时就要用到RMAN的空间时间点恢复功能。...参考官方文档《Backup and Recovery User's Guide》21 Performing RMAN Tablespace Point-in-Time Recovery (TSPITR) 空间时间点恢复实质是先将指定空间按照时间点恢复到一个辅助的实例...姚远老师这里计划把MVA这个空间恢复到第13个归档日志的时间点,使用下面的RMAN命令进行空间的时间点恢复。...完成恢复空间为offline的状态,需要备份后再改为online。...如果是恢复PDB中的空间,可以使用类似下面的命令 RECOVER TABLESPACE PDBA:MVA UNTIL LOGSEQ 30 AUXILIARY DESTINATION '/u01/tmp

25630

替换加密

通用特性 明文与密文一一对应 密钥空间较小的情况下,采用暴力破解方式 密文长度足够长的时候,使用词频分析 Caesar 凯撒密码加密时将明文中的每个字母都按照其在字母中的顺序向后(或向前)移动固定数目...(循环移动)得到密文,解密时将密文中的每个字母都按照其在字母中的顺序向前(或向后)移动固定数目(循环移动)得到明文。...else: return 'Err' return self.value 凯撒密码扩展 基于密钥的凯撒密码,给定一个密钥,将密钥的每一位转换为数字(字母对应顺序的数字...Atbash Cipher 埃特巴什码使用字母中的最后一个字母代表第一个字母,倒数第二个字母代表第二个字母,以此类推进行替换。

26630

mariadb数据库误操作的克星-flashback

工具增加了flashback功能,支持库、的DML闪回,不支持DDL闪回。...其他参数和普通的mysqlbinlog一样 对于DML闪回,包括update、delete和insert操作,以下分三种场景测试: (注:这里不区分操作类型) (1)库闪回 假设测试库dbatest包括...闪回后: 显然,刚才delete的多个的数据闪回了。...(2)闪回 闪回前: 闪回: /usr/local/mariadb102/bin/mysqlbinlog -vvv -B -d dbatest -T mtest1 --start-datetime...(3)事务部分sql闪回 一个事务包括多个sql,需要恢复其中一个sql操作 测试发现,无法恢复单个事务的一部分,其实,这也符合事务的原子性,要么回滚整个事务,要么整个事务不回滚。

2.3K91
领券