此时测试表中有7条数据,做个全备. 全备: mongodump --host=192.168.43.43 --port=37017 --oplog --out=/opt/mongo/fullbackup 在插入一条: 此时做增备,找出oplog中最近新增数据的ts时间:并记录下这个时间:1574845947, 3,这个时间需要在做增备以及恢复的时候用到. db.oplog.rs.find({op:{$ne:"n"}}).sort({$natural:-1}).limit(2);   做…
Xtrabackup Xtrabackup包含两个主要的工具,即xtrabackup和innobackupex,二者区别如下:  • xtrabackup只能备份innodb和xtradb引擎表,而不能备份MyISAM表  • innobackupex是一个封装了xtrabackup的Perl脚本,支持同时备份innodb和MyISAM,但在对MyISAM备份时需要加一个全局的读锁 创建用户赋予权限 CREATE USER 'backup'@'localhost' IDENTIFIED BY '…
在Oracle中:删除表或者误删表记录:有个闪回特性,不需要停机操作,可以完美找回记录.当然也有一些其他的恢复工具:例如odu工具,gdul工具.都可以找回数据.而PostgreSQL目前没有闪回特性.如何在不停机情况下恢复误删数据.还好是有完整的热备份. 本文描述的方法是:利用热备份在另一台服务器进行数据恢复:再导入正式环境:这样不影响数据库操作.这方法也适用在Oracle恢复.必须满足几个条件 有完整的基础数据文件备份和归档文件备份.所以备份是很重要的. 有一台装好同款Postgres软件的…
简介: 在这之前都是通过 mysqldump 来备份数据库的,由于是逻辑备份,所以采用这种备份方式数据是很安全的,跨平台.版本都很容易. 凡事有利必有弊,逻辑备份在你数据库比较大时,备份.恢复数据所耗费的时间也是蛮长的,所以要不断改进,使用物理备份. 由于线上数据库表使用的是混合引擎 MyISAM 跟 Innodb ,所以也不能使用 mysqlhotcopy ,这个工具还是蛮好用的,可惜只能备份 MyISAM. Percona XtraBackup 是 Percona 公司开发的一个用于 MyS…
1.先查出被删除的时间点: select * from flashback_transaction_query where table_name='表名'; 2.根据时间点恢复数据: insert into 表名 select * from 表名 as of timestamp to_timestamp('时间点', 'yyyy-mm-dd hh24:mi:ss');…
概述 代码bug,在处理上传出现异常时执行了DELETE FROM t_resource WHERE resource_id = ? OR parent_id = ?因为OR条件导致用户的上传的所有数据被清空了. show 查看是否有开启log-bin备份 show variables like 'log_bin' 欣慰的是,已经开启了二进制日志备份.那接下来就简单多了,找到这个二进制日志,找到这个节点,去恢复它.执行这个命令,查看正在写入的二进制日志是哪个文件 show master stat…
快照  select * from sys_info as of timestamp to_Date('2014-04-08 15:28:00', 'yyyy-mm-dd hh24:mi:ss')      要精确到秒…
背景: 最近后端基于mongo的项目越来越多,MySQL基于冷备份+binlog可以恢复至任意时间点,那么mongo是否有同样的功能呢?经过调研发现可以通过dump+oplog可以实现粒度更细致的恢复. 官方文档关于oplog的说明 : <a class="mongo-link" href="https://docs.mongodb.com/manual/core/replica-set-oplog/"></a> 以下是实验步骤,附脚本内容.…
mongodb部署--主备.副本及数据分片 主备复制 副本集 数据分片 主备复制 主备复制是最基本的一种多点部署方案,在读写分离.热备份.数据恢复等方面具有重要作用. 在真实的生产环境,主备库肯定需要部署在不同的服务器中,但鉴于学习测试,这里以一台机器的不同端口进行模拟. 准备工作: 安装Mongodb的二进制程序安装步骤 假设已经安装在/usr/local/mongodb/目录 为主库及备库创建数据目录: 主库目录:/var/mongodb_master/data/ /var/mongodb_…
参考51CTO博客 问题描述:使用scn号恢复误删数据 1.查询系统闪回的scn值以及当前日志的scn值,因为我这个是测试,创建的表是在在后边,所以scn值要大于下边这两个scn值,所以对我恢复数据没有用,如果我创建的数据是在下边这两个SCN值之前,也就是比这两个时间点SCN值小,就可以用这两个scn用来恢复数据,但是我下边这个实验创建的测试表晚,就不行了 SQL> select dbms_flashback.get_system_change_number from dual; SQL> s…