MySQL数据库误Update找回数据的方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL数据库误Update找回数据的方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2838字,纯文字阅读大概需要5分钟。
内容图文
在操作之前,我要求你把数据库备份一份,别这个没搞成,最后还把别的搞坏了!
详细步骤如下:
1. 查看数据库是否开启了binlog且为ROW格式 (必须开启了才行)
1)mysql> show variables like ‘log_bin‘; 也可以写成 show variables like ‘%log_bin%‘;这是模糊查询的意思
Values值为ON即为开启,这个一般是mysql数据库会自动开启的
2)查看是否为row 格式
mysql> show variables like ‘binlog_format‘;
2. 查看当前binlog文件,然后退出mysql模式,回到服务器命令行模式
mysql> show master status;
可以看到当前的binlog文件是binlog.000011
4. 安装pip和 binlog2sql (这个是大众美团的开源工具参考:https://github.com/danfengcao/binlog2sql)
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip -V (查看pip是否安装成功)
yum -y install git
git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sql
pip install -r requirements.txt
安装成功后,进入binlog2sql目录
(此步一般是安装完后就自动进入了,如果不确定就cd 返回根目录,再 cd /binlog2sql/binlog2sql)
4.执行下面的语句
python binlog2sql.py -h localhost -u 自己的数据库用户名 -p 自己的密码 -d 数据库名 -t 表名 --start-file=‘binsql.000011‘ --start-datetime=‘2020-6-27 16:20:00‘ --stop-datetime=‘2020-6-27 16:40:00‘
【再此记录下我当时误操作的时间:2020-6-27 16:20:00 - 2020-6-27 16:40:00】时间点要记好
这一步可能会遇到问题,解决思路
1)有可能是得 创建一个mysql用户,并授权相关权限
参考博客:https://www.cnblogs.com/xuanzhi201111/p/6602489.html
mysql> create user ‘gsl‘@‘localhost‘ identified by ‘自己的数据库密码‘;
mysql> grant select,replication slave,replication client on *.* to ‘gsl‘@‘localhost‘;
2)或者是这个问题 (参考:https://www.jianshu.com/p/f69e846558ab)
# pip list
Package Version
---------------------- -----------
PyMySQL 0.7.11
更新一下 对应的版本
# pip install --upgrade PyMySQL
5.执行成功后,如下图所示:
我们可以看到Update的start位置是:2213 。end 位置是2612。(即startposion = 2213,stop-position=2612)在下面的语句中用到
6. 根据位置回逆向解析出sql文件,这其中就包含了误操作之前的数据
python binlog2sql.py -h127.0.0.1 -P3306 -uroot -padmin -d数据库名 -t表名 --start-file=‘binlog.000011‘ --start-position=2213 --stop-position=2612 -B > /back.sql
执行以下命令生成回滚sql,保存在根目录下面,名称为 back.sql。
在服务器的主目录下查看有没有生成
7.把这个sql传输到本地(同时备份一遍,以防万一),用编辑器打开看一下是不是你要的sql。基本上只要定位好了,没什么问题
8.用Navicat在一个备用的数据库里执行这个sql文件,而且是同名同结构的表,之后看看数据是不是恢复了
我这里是实验成功了,恢复出来了原来的数据。
恢复之后,首先做的第一步便是:赶紧备份一份!
MySQL数据库误Update找回数据的方法
标签:mysql数据库 目录 idt 问题 记录 存在 编辑器 参考 相关
本文系统来源:https://www.cnblogs.com/gslgb/p/13210800.html
内容总结
以上是互联网集市为您收集整理的MySQL数据库误Update找回数据的方法全部内容,希望文章能够帮你解决MySQL数据库误Update找回数据的方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。