如果不小心对数据库进行误操作,而又没有及时备份怎么办?这恐怕是广大的coder经常遇到的一类问题。

我今天就因为不小心删除了某个数据库,但最后的备份是1个礼拜前的,唯一能解决的办法就是通过mysqlbinlog来恢复了。解决方案如下:

如果MySQL服务器启用了二进制日志,你可以使用mysqlbinlog工具来恢复从指定的时间点开始(例如,从你最后一次备份)直到现在或另一个指定的时间点的数据。

关于启用二进制日志的信息,参见5.11.3节,“二进制日志”。对于mysqlbinlog的详细信息,参见mysql手册8.6节,“mysqlbinlog:用于处理二进制日志文件的实用工具”。

要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名。

一般可以从配置文件(一般情况,Linux下为my.cnf ,windows系统下为my.ini,取决于你的系统)中找到路径。如果未包含在选项文件中,当服务器启动时,可以在命令行中以选项的形式给出。

启用二进制日志的选项为–log-bin。

要想确定当前的二进制日志文件的文件名,输入下面的MySQL语句:

SHOW BINLOG EVENTS \G;

或者还可以从命令行输入下面的内容:

mysql –user=root -pmypasswd -e ‘SHOW BINLOG EVENTS \G’ 将密码mypasswd替换为你的MySQL服务器的root密码。

比如得到的日志文件名为:

mysql-bin.000001 1. 指定恢复时间 对于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.000001  | mysql -u root -pmypasswd

该命令将恢复截止到在–stop-date选项中以DATETIME格式给出的日期和时间的所有数据。

如果你没有检测到输入的错误的SQL语句,可能你想要恢复后面发生的数据库活动。

根据这些,你可以用起使日期和时间再次运行mysqlbinlog:

mysqlbinlog –start-date=”2012-03-15 00:01:00″ /data1/log/mysql/mysql-bin.000001  | mysql -u root -pmypasswd

在该行中,从今天凌晨0:01登录的SQL语句将运行,组合执行前夜的转储文件和mysqlbinlog的两行可以将所有数据恢复到今天凌晨0:01前一秒钟。

你应检查日志以确保时间确切。下一节介绍如何实现。

2. 指定时间段恢复 通过mysqlbinlog –start-date 和–stop-date恢复指定时间段的数据库活动记录,如下:

mysqlbinlog –start-date=”2012-03-09 02:00:00″ –stop-date=”2012-03-15 14:00:00″ /data1/log/mysql/mysql-bin.000001 > /tmp/mysql_restore_030915.sql

通过这种方式,就能获取最后一个备份的文件时间2012-03-09 02:00:00到今天删除数据库之前2012-03-15 14:02这段时间的数据库活动事务操作

centos mysql压缩文件直接恢复_CentOS下利用mysqlbinlog恢复MySQL数据库相关推荐

  1. 完整恢复模式下的备份/恢复

    SQL SERVER 2005 支持三种方式的备份/恢复 1.简单恢复模式下的备份/恢复模 2.完整恢复模式下的备份/恢复 3.大容量日志恢复模式下的备份/恢复   [注]Microsoft关于备份/ ...

  2. 本地虚拟机上的docker安装mysql_linux下利用Docker安装mysql的步骤

    作为一个测试人员,在学习的过程中,可能经常需要去在linux下安装一些软件,有的软件通过搜索别人的博客教程进行安装的话,随着一些软件的升级,以及虚拟机/服务器镜像版本不一致等外部因素,都有可能导致安装 ...

  3. 如何在Windows下利用Apche查看MySQL数据库?

    本篇文章主要跟大家介绍的是如何在Windows下利用Apche查看MySQL数据库,小杜觉得挺实在的,就整理了一下并分享给大家做个参考,希望大家看完之后有一定的收获.因此,有感兴趣的朋友记得要看完! ...

  4. centos mysql压缩文件直接恢复_Centos下mysql数据库备份与恢复的方法

    一.mysqldump工具备份 mysqldump由于是mysql自带的备份工具,所以也是最常用的mysql数据库的备份工具.支持基于InnoDB的热备份.但由于是逻辑备份,所以速度不是很快,适合备份 ...

  5. centos下mysql更改数据存放目录_CentOS下mysql更改数据存放目录 --转载

    MYSQL默认的数据文件存储目录为/var/lib/mysql.假如要把目录移到/home/data下需要进行下面几步: 1.home目录下建立data目录 cd /homemkdir data 2. ...

  6. centos 源码安装mysql5.6_CentOS 7下源码安装MySQL 5.6

    目录 准备工作 运行环境 确认你的安装版本 下载MySQL 安装MySQL 准备安装环境 编译和安装 配置MySQL 单实例配置 单实例配置方法 添加防火墙 启动MySQL 重启MySQL 多实例配置 ...

  7. centos 安装mysql 5.7.9_CentOS 6.6下RPM方式安装MySQL 5.7.9

    说明: 从MySQL5.7.4起,以RPM包的方式安装后的MySQL的部署,默认是安全的,并且有这些特点: 1. 在大多数情况下,你只需要安装MySQL-server和MySQL-client安装包就 ...

  8. CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器

    一.简介 LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端.它提供了对日志的简单浏览.搜索.基本分析和一些图表报告的功能.数据可以从数据库或一般的syslog文本文件中获取 ...

  9. mysql表无法获取_CentOS下无法正常获取MySQL数据库表数据的问题

    Y~9vl5B{l1K+n0之前,由于客户要求在centOS下安装系统应用,因此有机会接触了一下CentOS,顺便也了解了下CentOS的常规操作,还有在CentOS下的相关操作.,U+_n@&quo ...

最新文章

  1. C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件
  2. 电脑显示服务器地址无法ping通,网关无法Ping通故障及解决方法
  3. 高并发之存储篇:关注下索引原理和优化吧!躲得过实践,躲不过面试官!
  4. oracle中同义词的用法,Oracle中使用同义词介绍
  5. python经典小游戏-用Python设计一个经典小游戏:猜大小
  6. c++ 图片验证码识别_基于tensorflow 实现端到端的OCR:二代身份证号识别
  7. 成功解决return tf.nn.softmax(x, axis=axis) TypeError: softmax() got an unexpected keyword argument 'axis
  8. Spark配置属性详解
  9. [html] 制作一个多选的下拉框
  10. SpringBoot快速入门Demo
  11. 大数据_MapperReduce_Hbase配置参数说明_以及部分源码说明---Hbase工作笔记0031
  12. HDU 3082 HDOJ 3082 Simplify The Circuit ACM 3082 IN HDU
  13. python时间格式化
  14. 用 CSS 隐藏页面元素
  15. iperf 安卓 灌包命令_iperf工具测速
  16. 0-博客笔记导读目录(全部)-20220506backup
  17. SEO 一般优化步骤
  18. Android Java代码中获取App渠道信息
  19. 物联网概论(IoT)_Chp10 智慧地球与物联网应用/M2M/共享单车/无人驾驶
  20. 985本科大二,计算机专业,为什么很多普通一本甚至二本三本的都比自己懂得多?

热门文章

  1. 服务器端配置nodejs环境(使用pm2进程管理运行)
  2. jQuery静态方法(each、map、isFunction, isWindow, isArray, .trim(), .holdReady())
  3. 封装一个操作文件的函数
  4. C#调用exe工作目录
  5. Educational Codeforces Round 9 B. Alice, Bob, Two Teams 前缀和
  6. iOS工程开发笔记二
  7. screen乱码问题
  8. 桌面虚拟化之XenDesktop7
  9. MariaDB5.5.32 绿色版下载安装一条龙
  10. 我的山寨敏捷四季之春