精华内容
下载资源
问答
  • Windows下mysql表数据恢复

    千次阅读 2020-03-30 15:49:50
    mysql删除表数据恢复 实验模拟 该实验必须是mysql开启了binlog的情况。 binlog日志,即binary log,是二进制日志文件。它有两个作用,一是增量备份,即只备份新增的内容;二是用于主从复制等,即主节点维护了一...

    由于本人手欠,上周五无意之间删除了一个表,然后无奈只好搜索如何恢复(幸好数据不多)

    目录

    mysql删除表数据恢复

    实验模拟

    恢复实战

    在mysql里进行恢复


    顺便在此记录一下,以防后续,分享解决同类问题

    先在此处引入搜索到的一篇文章

    mysql删除表数据恢复

    实验模拟

    该实验必须是mysql开启了binlog的情况。
    binlog日志,即binary log,是二进制日志文件。它有两个作用,一是增量备份,即只备份新增的内容;二是用于主从复制等,即主节点维护了一个binlog日志文件,从节点从binlog中同步数据。我们可以通过binlog日志恢复数据

    查看mysql是否开启binlog语句

    mysql> show variables like 'log_bin';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | log_bin       | OFF   |
    +---------------+-------+
    1 row in set (0.01 sec)
    

    如果是OFF,则说明没有开启binlog。可以使用如下方法开启binlog
    编辑/etc/my.cnf文件,在文件后面增加如下两行代码即可

    server-id=1
    log-bin=/var/lib/mysql/mysql-bin
    

    server-id表示单个结点的id,这里由于只有一个结点,所以可以把id随机指定为一个数,这里将id设置成1。若集群中有多个结点,则id不能相同

    第二句是指定binlog日志文件的名字为mysql-bin,以及其存储路径
    重启让配置生效。

    [root@localhost ~]# systemctl stop mysqld.service
    [root@localhost ~]# systemctl start mysqld.service
    
    mysql> show variables like 'log_bin';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | log_bin       | ON    |
    +---------------+-------+
    1 row in set (0.01 sec)
    
    

    恢复实战

    由于在/etc/my.cnf配置了binlog,这个日志会存储插入,删除,修改的日志信息

    (当然,windows的路径和这个不太对哦,只要你能开起来就行了)

    运行mysql,执行下面的命令

    show binlog events in '你想查看的那个记录';

    当然,像下图这样,在navicat工具里执行也是可以的

    然后你就看到了最早的记录

    windows查看所有日志记录,你是可以通过查找Date里找到的,如下图的都是了

    在这里,我要查看000031的那个记录

    mysql> show binlog events in 'DESKTOP-NBJ63T6-bin.000031';

    然后就得到了...

    然后找到你对应的开始和结束点就可以了(这里要进入mysql安装目录中的bin文件下去执行)

    然后,发现我tm找不到...淦,看提示得到(windows下前面要加.\)

    完整命令如下:

    .\mysqlbinlog --start-position=25055 --stop-position=49536 "C:\ProgramData\MySQL\MySQL Server 8.0\Data\DESKTOP-NBJ63T6-bin.000031" > D:\\beifen.sql;
    
    
    命令说明:
    .\mysqlbinlog --start-position=开始日志点 --stop-position=结束日志点 "日志文件完整路径地址" > 导出日志的路径地址;
    
    常用参数选项解释:
    --start-position=875 起始pos点
    --stop-position=954 结束pos点
    --start-datetime="2016-9-25 22:01:08" 起始时间点
    --stop-datetime="2019-9-25 22:09:46" 结束时间点
    --database=zyyshop 指定只恢复zyyshop数据库(一台主机上往往有多个数据库,只限本地log日志)
    -------------------------------------------------------- 
    不常用选项: 
    -u --user=name 连接到远程主机的用户名
    -p --password[=name] 连接到远程主机的密码
    -h --host=name 从远程主机上获取binlog日志
    --read-from-remote-server 从某个MySQL服务器上读取binlog日志
    
    
    a)查询第一个(最早)的binlog日志:
    mysql> show binlog events\G;
    
    b)指定查询 mysql-bin.000002这个文件:
    mysql> show binlog events in 'mysql-bin.000002'\G;
    
    c)指定查询 mysql-bin.000002这个文件,从pos点:624开始查起:
    mysql> show binlog events in 'mysql-bin.000002' from 624\G;
    
    d)指定查询 mysql-bin.000002这个文件,从pos点:624开始查起,查询10条(即10条语句)
    mysql> show binlog events in 'mysql-bin.000002' from 624 limit 10\G;
    
    e)指定查询 mysql-bin.000002这个文件,从pos点:624开始查起,偏移2行(即中间跳过2个),查询10条
    mysql> show binlog events in 'mysql-bin.000002' from 624 limit 2,10\G;
    

    在mysql里进行恢复

    source D:\beifen.sql;
    #将我们刚刚创建的临时脚本在此处进行恢复(记得加路径)

     

    展开全文
  • 数据类型 Mysql 5.7 innodb 数据大小 user 5MB 故障检测 误删除了记录。 客户要求 恢复全部的删除记录。 修复结果 frm ibd文件发来后,使用极佳innodb反删除记录恢复工具,成功恢复466条删除记录。 客户...
    数据类型 Mysql 5.7 innodb表
     
    数据大小 user表 5MB
     
    故障检测 误删除了表记录。
     
    客户要求 恢复全部的删除记录。
     
    修复结果 frm ibd文件发来后,使用极佳innodb反删除记录恢复工具,成功恢复466条删除记录。
     
    客户满意 是100%恢复

    展开全文
  • mysql删除表数据恢复

    万次阅读 2019-04-28 11:37:07
    实验模拟 该实验必须是mysql开启了binlog的情况。 binlog日志,即binary log,是二进制日志文件。...我们可以通过binlog日志恢复数据 查看mysql是否开启binlog语句 mysql> show variables like '...

    实验模拟

    该实验必须是mysql开启了binlog的情况。
    binlog日志,即binary log,是二进制日志文件。它有两个作用,一是增量备份,即只备份新增的内容;二是用于主从复制等,即主节点维护了一个binlog日志文件,从节点从binlog中同步数据。我们可以通过binlog日志恢复数据

    查看mysql是否开启binlog语句

    mysql> show variables like 'log_bin';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | log_bin       | OFF   |
    +---------------+-------+
    1 row in set (0.01 sec)
    

    如果是OFF,则说明没有开启binlog。可以使用如下方法开启binlog
    编辑/etc/my.cnf文件,在文件后面增加如下两行代码即可

    server-id=1
    log-bin=/var/lib/mysql/mysql-bin
    

    server-id表示单个结点的id,这里由于只有一个结点,所以可以把id随机指定为一个数,这里将id设置成1。若集群中有多个结点,则id不能相同

    第二句是指定binlog日志文件的名字为mysql-bin,以及其存储路径
    重启让配置生效。

    [root@localhost ~]# systemctl stop mysqld.service
    [root@localhost ~]# systemctl start mysqld.ser
    展开全文
  • mysql如何数据恢复

    万次阅读 2020-06-04 20:06:39
    3.截取到误操作前面的二进制度日志,进行数据恢复 4.恢复业务 ==================== 基于mysqldump =================== 3.实现备份恢复 截取日志,查看上一次备份的日志信息,做日志截取的起点 mysql -uroot -p12

    1.说明

    一.首先你的数据库要开启binlog日志,而且你日志没有被 清除掉
    二.你要有上一次的备份,而且要保证备份可用性

    2.备份恢复过程

    1.停止业务挂业务的维护页面,防止数据库的二次伤害
    2.找到上一次的备份进行数据恢复
    3.截取到误操作前面的二进制度日志,进行数据恢复
    4.恢复业务

    ==================== 基于mysqldump ===================

    3.实现备份恢复

    截取日志,查看上一次备份的日志信息,做日志截取的起点
    mysql -uroot -p1234 -e “show master status” --查看当前binlog日志号码
    mysql -uroot -p1234 -e “show binlog events in ‘mysql-bin.000006’” --查看号码中所对应的操作,找到终点
    mysqlbinlog --start-position=753 --stop-position=712 /data/binlog/mysql-bin.000005 /data/binlog/mysql-bin.000009 >/backup/bin.sql —截取日志

    ###数据恢复:
    set sql_log_bin=0;—临时关闭binlog日志数据恢复会生成大量无用的数据
    mysql -uroot -p1234 -e “source /backup/full_2020-04-22.sql”
    mysql -uroot -p1234 -e “/backup/bin.sql ”

    ==================== 基于innobackupex ===================
    innobackupex:采用的备份思路上全备+增量,所有我们要行整合备份
    ##3.1整理全备full
    innobackupex --apply-log --redo-only /backup/full
    ##3.2合并增量到全备,并整理备份,如果有其它的继续增加就可以了
    innobackupex --apply-log --redo-only --incremental-dir=/backup/inc1 /backup/full
    ##3.3合并最后一次增量到full,并整理备份
    innobackupex --apply-log --incremental-dir=/backup/inc2 /backup/full
    ##3.4最后一次整理full
    innobackupex --apply-log /backup/full

    ##3.5截取二进制日志
    ##3.5.1查看最后一次增量的备份,做为日志的起点
    cat xtrabackup_binlog_info
    mysql-bin.000005 568 44e6d2f4-811e-11ea-9152-000c2928360a:1-14
    mysql -uroot -p1234 -e “show master status” --查看当前binlog日志号码
    mysql -uroot -p1234 -e “show binlog events in ‘mysql-bin.000006’” --查看号码中所对应的操作,找到终点
    mysqlbinlog --start-position=568 --stop-position=712 /data/binlog/mysql-bin.000005 /data/binlog/mysql-bin.000006 >/backup/bin.sql —截取日志
    ##3.6数据恢复:
    cp -a /backup/full/* /data/mysql/data/
    chown -R mysql. /data/
    /etc/init.d/mysqld start
    mysql -uroot -p1234 -e “set sql_log_bin=0”
    mysql -uroot -p1234 -e “/backup/bin.sql”

    ps:这个我给你们提供的思路,数据库出现故障有解决思路

    展开全文
  • 主要给大家介绍了关于MySQL使用全库备份数据恢复数据的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面来一起看看吧
  • 针对mysql 5.7.20 数据恢复

    千次阅读 2018-01-20 17:59:53
    环境介绍: mysql 独立存储空间,采用innodb引擎。 恢复分为两部分:数据结构和数据 我们可以拿到的文件只有... 搭建相同的数据库环境,新建test数据库,新建一张,表名和我们要恢复的名称一样;例如tbl_
  • mysql 恢复表数据

    千次阅读 2018-07-11 11:48:25
    mysql 恢复表数据 table A 从全库备份中抽取出t表的表结构 sed -e '/./{H;$!d;}' -e 'x;/CREATE TABLE `A`/!d;q' DB.sql > A.sql (表结构) 从全库备份中抽取出t表的内容 grep 'INSERT INTO `A...
  • Mysql 误Drop数据恢复成功

    千次阅读 2013-04-20 14:19:26
    数据恢复故障描述】  客户误操作,把Drop掉后重新生成相同结构的,发现原数据全部丢失。   【数据恢复故障分析】  因为数据库使用的 InnoDB引擎,对ibdata文件进行分析,发现Drop掉的所占用的空间...
  • mysql 误清空 恢复数据

    千次阅读 2019-12-12 13:46:12
    把今天一不小心把订单清空,怎么恢复数据的记录下来 首先mysql需要开启bin-log,我的是宝塔面板,默认开启 接下来 进入到宝塔的www/server/data 控制台输入find / -name mysqlbinlog -print 找到binlog地址...
  • MySQL中.frm文件:保存了每个的元数据,包括结构的定义等,该文件与数据库引擎无关。MySQL中.ibd文件:InnoDB引擎开启了独立空间(my.ini中配置innodb_file_per_table = 1)产生的存放该数据和索引的文件。
  • Mysql误删数据恢复方法-mysqlbinlog

    千次阅读 2017-02-22 15:49:41
    这里写一下MySql 数据误删除的恢复过程。这里采用的方式是mysqlbinlog的日志恢复 首先,mysql要配置开启bin-log。查看my.ini文件(默认是my-default.ini),在文件后面加入 log-bin = mysql-bin 另外,配置一下...
  • mysql binlog 恢复指定表数据

    千次阅读 2018-09-18 15:20:08
    mysql binlog 恢复指定表数据 一、登录数据库刷新binlog 1.1)查看当前的binlog MySQL> show master status; +---------------------+----------+--------------+------------------+-------------------+...
  • mysql崩溃数据恢复

    千次阅读 2011-03-05 00:33:00
    如果引擎是myisam的话,直接将对应数据库目录下的文件拷贝回来,重启mysql就可以看到数据还在 4.如果引擎是innodb的话,将数据库目录下的frm文件拷贝回来,然后将ibdata1文件拷到data目录下,在my.ini文件...
  • 精讲 MYSQL数据恢复

    千次阅读 2012-07-12 15:19:09
    MYSQL数据库毁坏发生的原因有许多,...在其他情况下也需要MYSQL数据恢复操作,例如,当用户错误地删除数据库或时,或者错误地删除的内容时。不论这些不幸的事件发生是由于什么原因,都需要MYSQL恢复它们。  如
  • MYSQL】rm -rf mysql数据恢复

    千次阅读 多人点赞 2020-04-20 22:40:53
    维持现场状态,不能重启机子,也不行关闭运行中的mysql的进程,如果关闭就无法对数据进行恢复了; 这是因为:文件实际上是一个指向inode的链接, inode链接包含了文件的所有属性, 比如权限和所有者, 数据块地址(文件...
  • 误删整张表数据,需要紧急回滚 闪回详细介绍可参见example目录下《闪回原理与实战》example/mysql-flashback-priciple-and-practice.md test库tbl原有数据 mysql> select * from tbl; +----+--------+--------...
  • MySQL数据恢复--binlog

    万次阅读 2014-03-07 23:16:14
    * 数据恢复 * 主从数据库。用于slave端执行增删改,保持与master同步。 1.开启binary log功能  需要修改mysql的配置文件,本篇的实验环境是win7,配置文件为mysql安装目录\MySQL Server 5.1下的
  • 一、应用背景 一般正式数据库服务环境都有定时备份功能,例如我的阿里云MySql数据库服务器设置是每天备份一次,保留最近7天的数据。...二、数据恢复 1、已知数据结构 (1)、新建一个数据...
  • mysql表删除后恢复

    千次阅读 2019-04-27 16:46:53
    mysql没有开启binglog日志的情况下删除数据恢复 https://www.cnblogs.com/ziroro/p/9829669.html
  • mysql 清空数据】清除mysql表数据

    千次阅读 2018-01-05 11:00:57
    主要命令 有两种,一种是delete 方式,一种是 truncate table 方式。delete from 表名; truncate table 表名;不带where参数的delete语句可以删除mysql表中所有内容...但truncate删除后不记录mysql日志,不可以恢复数据
  • mysql根据日志恢复数据详细步骤
  • python3.6对MySQL数据恢复

    千次阅读 2017-04-25 19:54:00
    上一篇博客讲了关于python3.6对数据库的备份,这一篇讲一下对数据库的简单数据恢复,备份请看上一篇。 数据库的备份和数据恢复是一对相反的操作,如果你会了一种那么另一种自然就融会贯通了。   import os ...
  • mysql误操作删除数据后数据恢复

    千次阅读 2018-09-17 09:06:17
    关于误操作删除数据和数据恢复,一定要有安全意识,MySQL数据的找回,一定要在配置bin-log,否则数据丢失将无法恢复:  在MySQL的my.ini(或my.cnf,视操作系统不同而不同)添加:  [mysqld]  log-bin=binlog...
  • Mysql恢复表数据

    万次阅读 2018-07-24 16:54:38
    参考链接:https://blog.csdn.net/helloxiaozhe/article/details/77680255 ...     mysqldump备份常见用法 1、导出整个数据库(包括数据库中的数据) mysqldump -u username -p dbname > d...
  • mysql数据恢复或数据找回方法

    千次阅读 2018-04-11 15:16:23
    注意:在恢复全备数据之前必须刷新该库binlog,否则恢复过程中,可能会继续写入语句到binlog,最终导致增量恢复数据部分变得比较混乱1、关闭应用,取出全量备份和binlog(腾讯cdb全备的position无法自行定位,需要提...
  • mysql使用logbin进行数据恢复

    千次阅读 2015-05-21 14:46:32
    使用mysql的二进制日志bin-log来就行数据恢复操作
  • 记一次宝塔面板mysql表误删恢复过程

    千次阅读 2020-05-04 11:51:18
    由于我误删的数据量小而且都是直接insert数据而不是从其他摘的数据,因此通过数据库语句日志完全可以恢复,大家千万要注意数据库备份啊! 首先找到宝塔面板的/www/server/data文件夹,看看里面有没有mysql-bin....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 191,793
精华内容 76,717
关键字:

mysql表数据恢复

mysql 订阅