关键技术,数据库产生的二进制文件,在主库就是binlog在从库就是relay-log,用最新的物理备份可以新启动个新实例,可以模拟个从库,把主库的binlog复制到新的数据库实例上,利用主从复制和物理备份可以恢复到误操作前的数据
具体操作命令如下:
环境:
192.168.214.89  生产库
192.168.214.90  新数据库
1、在192.168.214.89上物理备份
innobackupex  --defaults-file=/application/mysql56/etc/my.cnf   --no-timestamp --user=root --password=123456 --host=192.168.214.89 --port=5621 --parallel=5    /data0/bak/full56
2、在192.168.214.89上多创建几个表,模拟业务增量
mysql> use employees;
mysql> create table employees_test as select * from employees;
Query OK, 300024 rows affected (7.18 sec)
Records: 300024  Duplicates: 0  Warnings: 0
mysql> insert into employees_test select * from employees_test;
Query OK, 300024 rows affected (5.19 sec)
Records: 300024  Duplicates: 0  Warnings: 0
mysql> insert into employees_test select * from employees_test;
Query OK, 600048 rows affected (7.97 sec)
Records: 600048  Duplicates: 0  Warnings: 0
#模拟binlog日志切换
mysql> flush logs;
Query OK, 0 rows affected (0.80 sec)
mysql> insert into employees_test select * from employees_test;
Query OK, 1200096 rows affected (25.22 sec)
Records: 1200096  Duplicates: 0  Warnings: 0
mysql> create table employees_test1 as select * from employees_test;
Query OK, 2400192 rows affected (59.35 sec)
Records: 2400192  Duplicates: 0  Warnings: 0
mysql> create table employees_test2 as select * from employees;
Query OK, 300024 rows affected (9.20 sec)
Records: 300024  Duplicates: 0  Warnings: 0
mysql> create table employees_test3 as select * from employees;
Query OK, 300024 rows affected (10.78 sec)
Records: 300024  Duplicates: 0  Warnings: 0
mysql> create table employees_test4 as select * from employees;
Query OK, 300024 rows affected (11.17 sec)
Records: 300024  Duplicates: 0  Warnings: 0
mysql> flush logs;
Query OK, 0 rows affected (0.49 sec)
mysql> create table employees_test5 as select * from employees;
Query OK, 300024 rows affected (10.67 sec)
Records: 300024  Duplicates: 0  Warnings: 0
mysql> flush logs;
Query OK, 0 rows affected (0.18 sec)
mysql> create table employees_test6 as select * from employees;
Query OK, 300024 rows affected (9.42 sec)
Records: 300024  Duplicates: 0  Warnings: 0
mysql> flush logs;
Query OK, 0 rows affected (0.31 sec)
mysql> create table employees_test7 as select * from employees;
Query OK, 300024 rows affected (8.83 sec)
Records: 300024  Duplicates: 0  Warnings: 0
mysql> create table employees_test8 as select * from employees;
Query OK, 300024 rows affected (9.83 sec)
Records: 300024  Duplicates: 0  Warnings: 0
查看数据库一共有多少个表
mysql> show tables;
+---------------------+
| Tables_in_employees |
+---------------------+
| departments         |
| dept_emp            |
| dept_manager        |
| employees           |
| employees_test      |
| employees_test1     |
| employees_test2     |
| employees_test3     |
| employees_test4     |
| employees_test5     |
| employees_test6     |
| employees_test7     |
| employees_test8     |
| salaries            |
| titles              |
+---------------------+
15 rows in set (0.00 sec)
mysql> drop database employees;
Query OK, 15 rows affected (4.00 sec)
为了查找方便,误操作后切换日志
mysql> flush logs;
Query OK, 0 rows affected (0.35 sec)
3、恢复备份文件
innobackupex  --defaults-file=/application/mysql56/etc/my.cnf    --parallel=5  --apply-log  /data0/bak/full56
4、在192.168.214.90上新安装个MySQL实例,启动新的MySQL实例,看启动是否成功,有异常的话,看错误日志解决,关闭MySQL数据库
5、把89恢复完的备份文件scp到90新安装的MySQL实例的数据目录下,启动数据库,让90成为一个从库
# cd /data0/bak/full56
# chown mysql:mysql * -R
mysql> CHANGE MASTER TO   MASTER_HOST='192.168.1.88';   # MASTER_HOST可以随便指定
完了关闭数据库
6、把89的binlog文件scp到90新安装的MySQL实例的数据目录下,删除相关的文件,启动数据库
# scp  mysql-bin.*  192.168.214.90:/data0/mysql/mysql56/var
# rm -rf mysql-bin.index
# rename mysql-bin relay-log mysql-bin.*
# ls ./relay-log.0* > relay-log.index
7、在主库上解析误操作前的binlog信息
# /application/mysql56/bin/mysqlbinlog mysql-bin.000042 > /tmp/42.sql
vi /tmp/42.sql
。。。。。。。。。。。。。。。。。。
# at 16494555
#181026  9:28:38 server id 19289  end_log_pos 16494586 CRC32 0xedfa848b         Xid = 11451753
COMMIT/*!*/;
# at 16494586
#181026  9:29:55 server id 19289  end_log_pos 16494693 CRC32 0x8c072efe         Query   thread_id=3816657       exec_time=4     error
_code=0
SET TIMESTAMP=1540517395/*!*/;
drop database employees
/*!*/;
。。。。。。。。。。。。。。。。。
7、查看备份时候的binlog信息
# catxtrabackup_binlog_info
mysql-bin.000039        32987250
8、在90上做恢复
mysql> change master to relay_log_file='relay-log.000039',relay_log_pos=32987250;
Query OK, 0 rows affected (0.05 sec)
mysql> START SLAVE until RELAY_LOG_FILE = 'relay-log.000042', RELAY_LOG_POS = 16494555;
Query OK, 0 rows affected (0.04 sec)
查看验证表是否恢复正确
mysql> use employees;
Database changed
mysql> show tables;
+---------------------+
| Tables_in_employees |
+---------------------+
| departments         |
| dept_emp            |
| dept_manager        |
| employees           |
| employees_test      |
| employees_test1     |
| employees_test2     |
| employees_test3     |
| employees_test4     |
| employees_test5     |
| employees_test6     |
| employees_test7     |
| employees_test8     |
| salaries            |
| titles              |
+---------------------+
15 rows in set (0.00 sec)
再把employees数据库备份出来导入到192.168.214.89上
G
M
T

检测语言世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语信德语修纳语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语卢森堡语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语吉尔吉斯语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语夏威夷语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语库尔德语弗里西语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语普什图语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语科萨科西嘉语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苏格兰盖尔语苗语英语荷兰语菲律宾语萨摩亚语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿姆哈拉语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语   世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语信德语修纳语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语卢森堡语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语吉尔吉斯语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语夏威夷语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语库尔德语弗里西语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语普什图语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语科萨科西嘉语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苏格兰盖尔语苗语英语荷兰语菲律宾语萨摩亚语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿姆哈拉语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语          

文本转语音功能仅限200个字符
  选项 : 历史 : 反馈 : Donate 关闭

转载于:https://www.cnblogs.com/manger/p/9855993.html

用xtrabackup+binlog恢复误删除的数据库相关推荐

  1. mysql binlog 备份恢复数据_Mysql结合备份+binlog恢复误删除操作数据

    结合备份+binlog恢复数据. 场景:昨天晚上做了全备,今天上午用户不小心误删除某张表. 解决方案:不建议在原生产环境直接恢复,建议在另一台机器恢复全库+日志,然后导入到生产环境. 1) 创建表se ...

  2. 如何恢复误删除的数据库

    Mysql数据库被误删除了怎么恢复,不要着急,耐心看下面解决办法. 本方法适用于Mysql数据库开启binlog日志,如果没有开启,抱歉,不需要往下看了. 如何看数据库有没有看起开启binlog日志  ...

  3. mysql binlog 备份_偷偷的删表删库,跑路之前,尝试用binlog恢复MySQL数据

    一. Binlog二进制日志: MySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(所有的写入,除了(读)数据查询语句select),以事件形式记录,还 ...

  4. mysql删除数据库恢复_详解MySQL数据库恢复误删除数据

    血的教训,事发经过就不详述了.直接上操作步骤及恢复思路(友情提示:数据库的任何操作都要提前做好备份),以下是Mysql数据后的恢复过程: 1. 找到binlog 恢复数据的前提是必须开启Mysql的b ...

  5. Mysql binlog日志及binlog恢复数据库操作

    初识MySQL 日志binlog MySQL重要log,二进制日志文件,记录所有DDL和DML语句(除select),事件形式记录,包含语句所执行的消耗时间,事务安全型. DDL(数据库定义语言),主 ...

  6. MySQL 技术篇- linux下mysql数据库利用binlog文件进行数据回滚实例演示,binlog恢复数据库的两种方式

    MySQL 数据库数据回滚 第一章:利用 binlog 进行数据回滚 ① 查看 binlog 文件所在位置 ② 查看主数据正在存储数据的 binlog 文件名 ③ 在控制台查看 binlog 文件内容 ...

  7. 误删除 Oracle 数据库数据的恢复方法

    学习数据库时,我们只是以学习的态度,考虑如何使用数据库命令语句,并未想过工作中,如果误操作一下,都可能导致无可挽回的损失. 今天主要以oracle数据库为例,介绍关于表中数据删除的解决办法.(不考虑全 ...

  8. 如何利用MySQL的binlog恢复误删数据库详解

    文章来源: 学习通http://www.bdgxy.com/ 目录 1 查看当前数据库内容并备份数据库 2 开启bin_log功能 3 模拟误操作(插入3条数据,删除数据库) 4 数据恢复 5 总结 ...

  9. 误删除oracle目录,LINUX下误删除Oracle数据库恢复方法

    原标题:LINUX下误删除Oracle数据库恢复方法 在LINUX下的Ext3/Ext4文件系统下,如果误删除了数据,数据恢复难度很大.如果说删除的文件数量不大(一般在几百个文件以内),还能够通过.j ...

最新文章

  1. 三台主机分别部署LAMP
  2. Linux CAN通信
  3. Linux C编程如何使用联机帮助来解决编程问题?
  4. 【elasticsearch】The number of object passed must be even but was [1]
  5. java 返回集合_java – List返回一个对象集合
  6. micropython教程nucleo-f767zi开发板_micropython移植到正点原子F767的問題
  7. kosbie的python课程视频_Python视频教程
  8. 安装谷歌json格式转换插件
  9. 论文中三线式表格的快速插入(word)
  10. 论文伪代码(一)论文伪代码实现(Overleaf在线编辑)
  11. 2019长安大学ACM校赛网络同步赛 B Trial of Devil (递归)
  12. 我是个Java开发者,我到底要不要学大数据开发?
  13. 3DMAX利用IGame导出骨骼动画概要
  14. 筱筱看博客(简易的 loading 封装)
  15. 大陆移动手机卡开通国际漫游(港澳台)
  16. 园区网典型组网架构及案例实践
  17. 【LeetCode 1125】 Smallest Sufficient Team
  18. 弧焊机器人断弧_qlh 2焊接机断弧如何修理
  19. Java训练work3.Exer5---供应商问题
  20. Java后端基础知识笔记

热门文章

  1. java 配置的环境变量不生效,JAVA_HOME无效,java -version显示其它版本
  2. 上海中心大厦的镇楼神器动了
  3. 玻璃房子美国超级计算机,这个美国别墅的落地玻璃窗让我有点hold不住
  4. Filmage Converter 视频转换器,MP4转换
  5. ARM学习之GPIO编程
  6. gpj文件怎么转化成html,MP4视频中提取的音频默认是MP3格式?如何转成WAV?
  7. 让收件人看到自已定的发件人 名字 (displayname)
  8. bread是可数还是不可数_为什么bread是不可数名词,而bun,noodle是可数名词
  9. CSS动画之静态三角形画法与延后的汽车车灯
  10. iOS 证书过期影响范围