一、使用二进制文件进行数据恢复
常用的方式有两种:
1.使用时间点恢复:通常在换会员物理备份或mysqldump备份之后,再用此方法还原完整备份至当前时间以来的数据更改,以确保数据完整性。
2.使用时间SID恢复:在某些特殊情况下也用于还原误操作。
注意:要从二进制日志还原数据,必须知道当前二进制文件的文件名和当前事件的位置。
a.查询当前有效的所有二进制日志文件名:

show binary log;
b.显示当前二进制日志文件名以及当前事件的位置:
show master status;
注意:如果还原操作需要使用多个二进制日志文件,安全的方式是使用mysqlbinlog命令。因为每个文件执行完后会删除临时表,下一个文件执行会报错。
不安全的示例:

mysqlbinlog binlog.000001 |mysql -uroot -p123456
mysqlbinlog binlog.000002 |mysql -uroot -p123456

正确的方法:

mysqlbinlog binlog.000001 binlog.000002 |mysql -uroot -p123456
或者
mysqlbinlog binlog.00000{1,2,3,4} |mysql -uroot -p123456

或者将二进制文件先重定向为sql语句,然后执行:

mysqlbinlog binlog.000001 >~/temp/statement.sql
mysqlbinlog binlog.000002 >~/temp/statement.sql
mysql -uroot -p123456 <~/temp/statement.sql

如果用了gtid的二进制日志转储的时候需要使用–skip-gtids选项跳过gtid(gtid主要用于主从同步),如下:

mysqlbinlog --skip-gtids binlog.000001 >~/temp/statement.sql
mysqlbinlog --skip-gtids binlog.000002 >~/temp/statement.sql
mysql -uroot -p123456 <~/temp/statement.sql

三、使用时间点恢复

全部时间的sql:

mysqlbinlog --skip-gtids --base64-output=decode-rows -vv /usr/local/mysql/mysql-bin/mysql-bin.000004 >~/temp/statement.sql

导出指定时间点到当前时间的sql:

mysqlbinlog --start-datetime="2022-09-03 00:00:00" binlog.000001 >~/temp/statement-20220903000000.sql

导出指定时间段到当前时间的sql:

mysqlbinlog --start-datetime="2022-09-03 00:00:00" --stop-datetime="2022-09-04 00:00:00" binlog.000001 >~/temp/statement-20220903000000.sql

注意:此时显示的sql语句是转码后的,不方便阅读。
–base64-output=decode-rows:显示具体的sql
-v,-vv,-vvv:显示详细信息。

四、使用事件位置恢复
使用前必须确定时间的SID,SID值是binlog文件中at后的数字。
查看sid:

mysqlbinlog --skip-gtids --base64-output=decode-rows -vv /usr/local/mysql/mysql-bin/mysql-bin.000004 |grep -i at

注意:SID的编号在每个二进制文件中是重复只用的。
show binlog events 可以查看binary log中的事件,能够查询到每个event的Pos和End_log_pos如下

show binlog events in ‘mysql-bin.000004’;

例一:导出指定SID的sql语句

mysqlbinlog --skip-gtids --base64-output=decode-rows -vv --start-position=4 --stop-position=125 /usr/local/mysql/mysql-bin/mysql-bin.00000{1,2,3,4} >~/temp/statement-1_4-4_125.sql

注意:上面语句表示导出mysql-bin.000001文件sid为4到mysql-bin.000004文件sid为125的所有sql。–start-position=表示第一个文件的开始,不是所有文件的开始,–stop-position=125也一样。

MySql ocp认证之备份与恢复(四)相关推荐

  1. mysql 5.6ocp认证_花5百购买的mysql ocp认证IZO-883 考试题库 准确率达到百分之八九十...

    [实例简介] 题库真实有效,花5百购买的mysql ocp认证IZO-883 考试题库 准确率达到百分之八九十 [实例截图] [核心代码] 21616308mysqlocp认证IZO-883 └── ...

  2. 【MySQL附录】A6:MySQL OCP 认证考试最详细最准确报考流程(2020年)

    Oracle将MySQL纳入旗下后,也参照Oracle数据库,推出针对MySQL的OCP认证(目前MySQL没有OCM级别). MySQL8.0软件在2018年4正式发布后,终于在2020年1月底,O ...

  3. mysql ocp 认证 题库_MySQL 8 OCP(1Z0-908)认证考试题库原题(第10题)

    Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第10题 Choose the best answer. Examine these commands, which execute ...

  4. mysql ocp 认证 题库_MySQL 8 OCP(1Z0-908)认证考试题库原题(第12题)

    Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第12题 Choose the best answer. You plan to upgrade your MySQL 5.7 in ...

  5. 51cto MySQL OCP认证精品班5期视频

    个人考试经验 已报名51mysql ocp 认证课,需要评论.为了简单解释一下测试问题,MySQL OCP现在有5.7和8.0版本.由于8.0版本刚刚发布,题库相对较少(以前在网络上参加过考试的人会根 ...

  6. mysql ocp 认证 题库_Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第1题

    Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第1题 1.Choose the best answer. Examine these statements and output: ...

  7. mysql ocp 认证 题库_Mysql 8.0 OCP认证考试原题整理(CUUG内部题库)-第4题

    Mysql 8.0 OCP认证考试原题整理(CUUG内部题库)-第4题 时间:2020-12-01 来源: Mysql 8.0 OCP认证考试原题整理(CUUG内部题库)-第4题 4.Choose t ...

  8. MySql ocp认证之MySql安装(一)

    一.mysql安装: [root@VM-24-5-centos mysql]# tar -xvf mysql-5.7.38-linux-glibc2.12-x86_64.tar [root@VM-24 ...

  9. 51cto MySQL OCP认证精品班5期

    Oracle的SQL调优是一个复杂的主题,甚至是需要整本书来介绍Oracle SQL调优的细微差别.不过有一些基本的规则是每个Oracle DBA都需要跟从的,这些规则可以改善他们系统的性能.SQL调 ...

最新文章

  1. CentOS 7 VNC 配置
  2. Android 利用url获取Bitmap图片
  3. Linux+Jenkins自动构建服务器包
  4. AIX操作系统启动详细介绍
  5. 一个 冒泡排序 和 选择排序 的简单c程序
  6. 【LeetCode】剑指 Offer 46. 把数字翻译成字符串
  7. Oracle 11g EM删除重建的方法
  8. 2017中国“互联网+”数字经济指数 | 腾讯研究院
  9. 前端js使用java变量值_web前端:js中的变量
  10. cxf整合spring发布webservices服务端
  11. 论文记录-2018-A survey on image tampering and its detection in real-world photos
  12. Elk-Metricbeat配置Nginx的日志分析 (Metricbeat-part2)
  13. 解密AI芯片的加速原理
  14. 计算机打印状态错误,打印机出现错误状态是怎么回事,教您解决办法
  15. 熟练计算机数字键盘,总结:计算机键盘的盲打和快速输入技巧[1]
  16. 必读论文 | 卷积神经网络百篇经典论文推荐
  17. Socket英文解释
  18. 哈尔滨海鹰机器人_哈尔滨机器人产业园:机器人让“未来”照进现实
  19. (1.2)bark-ml
  20. 鸿蒙系统为什么能用太极框架,玩机福音:华为 EMUI 升级鸿蒙之后依然可使用太极运行 Xposed...

热门文章

  1. Ubuntu下连接红米2无法找到设备解决方案
  2. 分享一个matplotlib柱状图
  3. 微信小程序canvas绘制圆形头像
  4. Zemax学习笔记(11) - 变焦镜头设计实例
  5. 【路由器连接天翼网关2.0问题解决思路】
  6. 工作和生活遇到的Windows常见需求 跨局域网共享文件 网页加载慢更换DNS
  7. python仙修之 入门之后不放弃?
  8. mysql vtype_ExtJs6学习笔记 -- 自定义 vtype
  9. Flutter在Android平台实现消息推送
  10. 基于51单片机的4位竞赛抢答器的设计