MySQL update回滚 mysqlbinlog回复数据

MySQL update回滚 mysqlbinlog回复数据

大家好,又见面了,我是全栈君。

 

是否启用了日志
show variables like 'log_%';
怎样知道当前的日志
mysql> show master status;
显示二进制日志数目
mysql> show master logs;

看二进制日志文件用mysqlbinlog
shell>mysqlbinlog mail-bin.000001
或者shell>mysqlbinlog mail-bin.000001 | tail

重点文档:https://github.com/danfengcao/binlog2sql

mysqlbinlog: 未找到命令

打开方法:mysql配置文件中找到#log-bin=mysql-bin,并取消注释即可。

要用到mysqlbinlog,mysqlbinlog在mysql目录bin里,切换目录后执行mysqlbinlog提示

-bash: mysqlbinlog: command not found

找不到命令,那就先解决这个问题,解决方法:

find  / -name mysqlbinlog -print

如图:

MySQL update回滚 mysqlbinlog回复数据

只有/www/server/mysql/bin/mysqlbinlog 一条记录,这是我mysql的目录

然后把mysqlbinlog做个软连接到/usr/bin

 ln -fs /www/server/mysql/bin/mysqlbinlog /usr/bin

然后再执行find  / -name mysqlbinlog -print查看

MySQL update回滚 mysqlbinlog回复数据

你会发现多了一条,报错忽略。现在,就可以正常使用mysqlbinlog了。

我的做法是导出sql文本,在本地恢复,导出方法是:

mysqlbinlog /www/server/linshi/mysql-bin.000087 --start-datetime='2018-01-09 00:00:00' --stop-datetime='2018-01-10 00:00:00' > /www/server/linshi/1233.sql

/www/server/linshi/mysql-bin.000087  是日志文件所在

/www/server/linshi/1233.sql 是要导出的位置

很快执行完毕,切换到相应目录后就会看到1233.sql文件,再导入数据库恢复吧

执行的语句

sudo mysqlbinlog /usr/local/mysql/var/mysql-bin.000116 --start-datetime='2020-04-02 10:00:27' --stop-datetime='2020-04-02 10:18:27'>/tmp/123.sql

 

MySQL update回滚 mysqlbinlog回复数据MySQL update回滚 mysqlbinlog回复数据

获取文件进行恢复
1、直接进行恢复
mysqlbinlog /usr/local/mysql/data/binlog.123456 | mysql -u root -p
2、按位置进行恢复 主要参数[–stop-position –start-position]
mysqlbinlog –stop-position=368312 –start-position=368315 /usr/local/mysql/data/binlog.123456 | mysql -u root -p
这里的位置可以通过读取binlog文件进行查看,不过这个也必须自己知道进行了那些操作。后面说如果看到的文件都是乱码或者看不到真正sql的问题
3、按时间点进行恢复 主要参数 [–stop-datetime –start-datetime]
mysqlbinlog –stop-datetime=”2005-04-20 9:59:59” –start-datetime=”2005-04-20 10:01:00” /usr/local/mysql/data/binlog.123456 | mysql -u root -p
时间点恢复跟位置恢复道理一样,也必须知道具体操作的时间和要恢复到什么时间
4、不同的方式进行恢复
1、如果是登录到了mysql并且binlog也是在一台服务器上切一般binlog的目录会在mysql安装目录下data文件下那么就可以直接进行恢复
这种情况可以直接在mysql下执行命令
2、如果是只拿到了binlog文件,并且是线下的服务器需要先尝试数据正确后再导入生产的
这种情况可以先把binlog文件输出到你制定的sql文件如:
mysqlbinlog /usr/local/mysql/data/binlog.123456 > /tmp/mysql.sql
这样的输出有可能是看不到任何有价值的sql如果想看到标准的sql可以使用
mysqlbinlog –base64-output=DECODE-ROWS -v /usr/local/mysql/data/binlog.123456 > /tmp/mysql.sql

上面的情况也可能得到的sql不是想要的需要进行替换,那么如果数据量少手动替换@1@2就可以如果比较多建议使用开源工具mysql2binlog github地址:https://github.com/danfengcao/binlog2sql

最后一点线上数据一定要当心,虽然mysql有binlog机制,但还是希望人尽量少用它!

问题:

binlog2sql 回滚sql 产生的sql 为空,错误的sql 找到了,生成回滚sql 的时候为空,这是为什么呢

就是找到日志文件了,但是在生成回滚sql 的时候,生成的sql 为空,有人遇到过吗 欢迎大佬指正,小弟感激不尽!

my.cnf配置文件如下:

MySQL update回滚 mysqlbinlog回复数据MySQL update回滚 mysqlbinlog回复数据

参考:https://blog.csdn.net/flower_vip/article/details/79032999

参考:https://my.oschina.net/u/3486280/blog/1605031

Mysql binlog 查看方法

查看二进制文件,并搜索关键字

mysqlbinlog master-bin.000014|grep -5a "DROP TABLE"

MySQL update回滚 mysqlbinlog回复数据

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111828.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 详解机器学习中的数据处理(一)——缺失值处理(附完整代码)

    详解机器学习中的数据处理(一)——缺失值处理(附完整代码)摘要 在机器学习中 我们的数据集往往存在各种各样的问题 如果不对数据进行预处理 模型的训练和预测就难以进行 这一系列博文将介绍一下机器学习中的数据预处理问题 以 UCI 数据集为例详细介绍缺失值处理 连续特征离散化 特征归一化及离散特征的编码等问题 同时会附上处理的 Matlab 程序代码 这篇博文先介绍缺失值的处理 要点如下 处理缺失值的方法 读取数据集文件 查找 替换缺失数据

    2025年11月21日
    4
  • 电阻器的识别与测量答案_电阻器的判断

    电阻器的识别与测量答案_电阻器的判断原文地址:电阻器的识别与测量作者:绵绵小溪2011年9月14日                                                                     第3周第7,8课时课  题电阻器的识别与测量教学目标知识目标:1)让学生理解色标法、直标法的含义;         2)让学生了解数字万用表测

    2022年8月21日
    7
  • 华硕笔记本r414u怎么安装键盘_华硕R414U详细拆机装内存条步骤!

    华硕笔记本r414u怎么安装键盘_华硕R414U详细拆机装内存条步骤!华硕R414U手动拆解安装内存条详细步骤电脑配置不够用,想要自己手动diy,但不同类型的电脑的内部结构都不同,或与会给第一次拆解此型号电脑的小伙伴带来不少麻烦。前几天小编就给自己的电脑加装了一块内存条,今天就和大家分享一下具体的拆解过程;详细步骤见下面。小编拆解的机型是华硕的R414U,这款电脑的自带内存条是集成在主板的,但拆开后发现主板上有预留的扩展内存卡槽的;比较麻烦的是不想其它的电脑在后盖内…

    2022年5月8日
    106
  • ramdisk介绍与制作

    ramdisk介绍与制作转自 http m blog csdn net silent123go article details 一 文件系统与根文件系统 nbsp nbsp nbsp 1 文件系统 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 文件系统是操作系统用于明确存储设备 常见的是磁盘 也有基于 NANDFlash 的固态硬盘 分区上的文件的存储方法和数据结构 即在存储设备上组织文件的方法 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 看了这个概念如果有些懵 下面用

    2025年10月1日
    3
  • 递归和迭代的比较

    递归和迭代的比较迭代(Iteration)与递归(Recursion)是开发过程中常用的编程技巧,二者有相似,也有区别。1、递归简单地说,就是函数调用函数自己。通常把相同规则的业务,定义为一个函数,通过函数的重复调用,完成整体业务的实现。用有限的语句来定义对象的无限集合。比如,一个数字的阶乘计算,通过递归实现如下://递归publicstaticintrecursio…

    2022年6月5日
    50
  • ubuntu 更换主题[通俗易懂]

    ubuntu 更换主题[通俗易懂]1、安装工具1.1、安装控制工具sudoapt-getupdatesudoapt-getinstallgnome-tweak-tool1.2、打开刚刚安装的名为“优化”的工具后面的操作离不开这个工具,可以看到这个工具内的外观菜单下有:主题、背景、锁屏,我们的换主题操作就是在这里进行1.3、我们会发现s…

    2022年9月23日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号