精华内容
下载资源
问答
  • Mysql数据恢复

    2020-06-04 09:51:18
    mysql数据恢复 国内专业致力于MySql1x、MySql2x、MySql3x、MySql4x、MySql5x Mysql8.x 数据库的内部结构研究。开发了数据库恢复工具。可以将数据直接从数据库文件或备份文件中提取出来。本中心擅长: 1.MySql数据库的...

    Mysql数据错误修复和恢复

    国内专业致力于MySql1x、MySql2x、MySql3x、MySql4x、MySql5x Mysql8.x 数据库的内部结构研究。开发了数据库恢复工具。可以将数据直接从数据库文件或备份文件中提取出来。

    MySql数据库的灾难恢复,主要包括 (同时支持mariadb数据库任意版本的 innodb myisam aria引擎文件恢复加修复)

    1. 系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏得备份文件情况下得恢复.或者数据有丢失 binlog丢失恢复 我们可以从磁盘恢复 二进制日志文件。
    2. 误delete数据恢复、误删除表恢复(drop)、truncate表恢复 等. 以及myd文件 ibd ibdata1文件变成0字节恢复,特别是myd文件很多情况下 删除记录 以及 误删除表 和 清空表都会造成文件0字节,我们可以从磁盘分区来恢复表记录。
    3. 各种MySql错误的修复. 如mysql无法启动 事务死锁 ibdata1文件无法启动 等等 支持myisam引擎 innodb引擎 及常用引擎
    4. MySql数据库中数据文件ibdata1和ibd出现坏块情况下的恢复
    5. MySql数据文件被误删除情况下的恢复.被覆盖的情况或者被老备份还原的恢复
    6. 磁盘阵列上崩溃导致的mysql数据库无法恢复 或者严重损坏的修复
    7. 支持innodb引擎 ibdata1文件丢失 或被覆盖 .IBD表文件丢失以及被覆盖的情况恢复
    8. 支持Navicat Premium Navicat for mysql 导航猫软件的备份文件修复
    展开全文
  • MYSQL数据恢复

    2018-08-03 16:39:49
    MYSQL数据恢复 一、数据丢失 1、服务器或存储硬件故障=====》(恢复手段)数据备份,主从复制备份  2、人为或应用程序失误导致数据错乱或丢失====》(恢复手段)数据备份,延迟备份,数据回滚  3、数据库bug导致...

    MYSQL数据恢复

    一、数据丢失

    1、服务器或存储硬件故障=====》(恢复手段)数据备份,主从复制备份 
    2、人为或应用程序失误导致数据错乱或丢失====》(恢复手段)数据备份,延迟备份,数据回滚 
    3、数据库bug导致数据无法正常读取====》数据备份,其他特殊读取手段。。。

    二、常用备份手段

     

     
     

     
     

    关注这个小工具:percona data recovery tool for innodb这个工具,研究如何使用这个工具恢复损坏的innodb文件

     

    转载:http://www.cnblogs.com/zhoubaojian/articles/7866233.html

    展开全文
  • mySQL数据恢复

    2017-03-08 11:09:00
    mysql数据恢复 作者:xluren mysql在默认安装的情况下是不打开mysqlbinlog的, 登录mysql执行以下命令结果如下所示: mysql> show binlog events; Empty set (0.00 sec) mysql> 返回结果为空 ...

    mysql数据恢复

    作者:xluren

    mysql在默认安装的情况下是不打开mysqlbinlog的,

    登录mysql执行以下命令结果如下所示:

    mysql> show binlog events;
    Empty set (0.00 sec)
    
    mysql> 
    返回结果为空

    所以要修改配置文件,打开这个选项

    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    log-bin=mysqlbin-log
    
    很简单,log-bin=mysqlbin-log ,名字自定义,至于这里有啥坑,目前还不知道,我一直用这个名字

    然后执行show binlog events

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> show binlog events;
    +---------------------+------+-------------+-----------+-------------+------------------------------------------------------------------+
    | Log_name            | Pos  | Event_type  | Server_id | End_log_pos | Info                                                             |
    +---------------------+------+-------------+-----------+-------------+------------------------------------------------------------------+
    | mysqlbin-log.000001 |    4 | Format_desc |         1 |         107 | Server ver: 5.5.33-log, Binlog ver: 4                            |
    | mysqlbin-log.000001 |  107 | Query       |         1 |         174 | BEGIN                                                            |
    | mysqlbin-log.000001 |  174 | Intvar      |         1 |         202 | INSERT_ID=3                                                      |
    | mysqlbin-log.000001 |  202 | Query       |         1 |         317 | use `url`; insert into urlinfo(url,info) values("sogou","hello") |
    | mysqlbin-log.000001 |  317 | Query       |         1 |         385 | COMMIT                                                           |
    | mysqlbin-log.000001 |  385 | Query       |         1 |         452 | BEGIN                                                            |
    | mysqlbin-log.000001 |  452 | Query       |         1 |         544 | use `url`; delete from urlinfo where id=3                        |
    | mysqlbin-log.000001 |  544 | Query       |         1 |         612 | COMMIT                                                           |
    | mysqlbin-log.000001 |  612 | Query       |         1 |         679 | BEGIN                                                            |
    | mysqlbin-log.000001 |  679 | Intvar      |         1 |         707 | INSERT_ID=4                                                      |
    | mysqlbin-log.000001 |  707 | Query       |         1 |         822 | use `url`; insert into urlinfo(url,info) values("sogou","hello") |
    | mysqlbin-log.000001 |  822 | Query       |         1 |         890 | COMMIT                                                           |
    | mysqlbin-log.000001 |  890 | Query       |         1 |         957 | BEGIN                                                            |
    后面还有很多,省略了,可以看到精确的记录了我的操作记录

    同时查看mysql数据所在的目录会增加了mysqlbin-log

    [root@Git mysql]# ll
    total 28700
    -rw-rw----. 1 mysql mysql 18874368 Dec 16 20:16 ibdata1
    -rw-rw----. 1 mysql mysql  5242880 Dec 16 20:16 ib_logfile0
    -rw-rw----. 1 mysql mysql  5242880 Aug 13 04:21 ib_logfile1
    drwx------. 2 mysql mysql     4096 Aug 13 04:21 mysql
    -rw-rw----  1 mysql mysql     2448 Dec 16 20:14 mysqlbin-log.000001
    -rw-rw----  1 mysql mysql      107 Dec 16 20:16 mysqlbin-log.000002
    -rw-rw----  1 mysql mysql       44 Dec 16 20:16 mysqlbin-log.index
    srwxrwxrwx  1 mysql mysql        0 Dec 16 20:16 mysql.sock
    drwx------  2 mysql mysql     4096 Dec  6 06:09 mywebsite
    drwx------. 2 mysql mysql     4096 Aug 13 04:21 test
    drwx------. 2 mysql mysql     4096 Aug 13 04:35 url
    这里对比测试做的不是很好,其实mysqlbin-log.000001和mysqlbin-log.000002是新增加的,记录了操作日志,同时这里需要注意的是,每重启一次mysqld,mysqlbing-log会在原来的基础上+1,命名。

    同时你还会发现,为什么 show binlog events 怎么没有mysqlbin-log.000002。OK执行下面的这条命令就会有了

    摘自官方:

    SHOW BINLOG EVENTS
       [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]
    Shows the events in the binary log. If you do not specify 'log_name', the first binary log is displayed.

    mysql> show binlog events in 'mysqlbin-log.000002';
    +---------------------+-----+-------------+-----------+-------------+-------------------------------------------------------------------+
    | Log_name            | Pos | Event_type  | Server_id | End_log_pos | Info                                                              |
    +---------------------+-----+-------------+-----------+-------------+-------------------------------------------------------------------+
    | mysqlbin-log.000002 |   4 | Format_desc |         1 |         107 | Server ver: 5.5.33-log, Binlog ver: 4                             |
    | mysqlbin-log.000002 | 107 | Query       |         1 |         174 | BEGIN                                                             |
    | mysqlbin-log.000002 | 174 | Intvar      |         1 |         202 | INSERT_ID=5                                                       |
    | mysqlbin-log.000002 | 202 | Query       |         1 |         318 | use `url`; insert into urlinfo(url,info) values("sogou1","hello") |
    | mysqlbin-log.000002 | 318 | Query       |         1 |         386 | COMMIT                                                            |
    +---------------------+-----+-------------+-----------+-------------+-------------------------------------------------------------------+
    5 rows in set (0.00 sec)

    下面进入数据恢复

    数据库及时间如下所示:

    mysql> select * from urlinfo;
    +----+----------------+-------+
    | id | url            | info  |
    +----+----------------+-------+
    |  1 | www.baidu.com  | 0     |
    |  2 | www.google.com | 0     |
    |  4 | sogou          | hello |
    |  5 | sogou1         | hello |
    +----+----------------+-------+
    4 rows in set (0.00 sec)
    
    mysql> select now();
    +---------------------+
    | now()               |
    +---------------------+
    | 2013-12-16 20:30:18 |
    +---------------------+
    1 row in set (0.00 sec)
    
    mysql> 
    插入一条数据

    mysql> insert into urlinfo(url,info) values("soso","hello");
    Query OK, 1 row affected (0.00 sec)
    
    mysql> select now();
    +---------------------+
    | now()               |
    +---------------------+
    | 2013-12-16 20:31:25 |
    +---------------------+
    1 row in set (0.00 sec)
    
    mysql> select * from urlinfo;
    +----+----------------+-------+
    | id | url            | info  |
    +----+----------------+-------+
    |  1 | www.baidu.com  | 0     |
    |  2 | www.google.com | 0     |
    |  4 | sogou          | hello |
    |  5 | sogou1         | hello |
    |  6 | soso           | hello |
    +----+----------------+-------+
    5 rows in set (0.00 sec)
    
    mysql> 
    然后把新插入的数据删除

    mysql> delete from urlinfo where url='soso';
    Query OK, 1 row affected (0.05 sec)
    
    mysql> select now();
    +---------------------+
    | now()               |
    +---------------------+
    |2013-12-16 20:35:29 |
    +---------------------+
    1 row in set (0.01 sec)
    
    mysql> select * from urlinfo;
    +----+----------------+-------+
    | id | url            | info  |
    +----+----------------+-------+
    |  1 | www.baidu.com  | 0     |
    |  2 | www.google.com | 0     |
    |  4 | sogou          | hello |
    |  5 | sogou1         | hello |
    +----+----------------+-------+
    4 rows in set (0.00 sec)
    
    mysql> 

    操作记录查看

    mysql> show binlog events in 'mysqlbin-log.000002';
    +---------------------+-----+-------------+-----------+-------------+-------------------------------------------------------------------+
    | Log_name            | Pos | Event_type  | Server_id | End_log_pos | Info                                                              |
    +---------------------+-----+-------------+-----------+-------------+-------------------------------------------------------------------+
    | mysqlbin-log.000002 |   4 | Format_desc |         1 |         107 | Server ver: 5.5.33-log, Binlog ver: 4                             |
    | mysqlbin-log.000002 | 107 | Query       |         1 |         174 | BEGIN                                                             |
    | mysqlbin-log.000002 | 174 | Intvar      |         1 |         202 | INSERT_ID=5                                                       |
    | mysqlbin-log.000002 | 202 | Query       |         1 |         318 | use `url`; insert into urlinfo(url,info) values("sogou1","hello") |
    | mysqlbin-log.000002 | 318 | Query       |         1 |         386 | COMMIT                                                            |
    | mysqlbin-log.000002 | 386 | Query       |         1 |         453 | BEGIN                                                             |
    | mysqlbin-log.000002 | 453 | Intvar      |         1 |         481 | INSERT_ID=6                                                       |
    | mysqlbin-log.000002 | 481 | Query       |         1 |         595 | use `url`; insert into urlinfo(url,info) values("soso","hello")   |
    | mysqlbin-log.000002 | 595 | Query       |         1 |         663 | COMMIT                                                            |
    | mysqlbin-log.000002 | 663 | Query       |         1 |         730 | BEGIN                                                             |
    | mysqlbin-log.000002 | 730 | Query       |         1 |         828 | use `url`; delete from urlinfo where url='soso'                   |
    | mysqlbin-log.000002 | 828 | Query       |         1 |         896 | COMMIT                                                            |
    +---------------------+-----+-------------+-----------+-------------+-------------------------------------------------------------------+
    12 rows in set (0.00 sec)
    

    然后把那条数据恢复起来,也就是说数据应该是2013-12-16 20:35:29之前的数据

    执行下面这条命令:

    [root@Git mysql]# mysqlbinlog --database=url  --start-datetime="2013-12-16 20:29:00"  --stop-datetime="2013-12-16 20:34:00" mysqlbin-log.000002|mysql -h localhost -u root -phello -f 
    [root@Git mysql]# 
    然后

    mysql> select * from urlinfo;
    +----+----------------+-------+
    | id | url            | info  |
    +----+----------------+-------+
    |  1 | www.baidu.com  | 0     |
    |  2 | www.google.com | 0     |
    |  4 | sogou          | hello |
    |  5 | sogou1         | hello |
    |  6 | soso           | hello |
    +----+----------------+-------+
    5 rows in set (0.00 sec)
    删除的数据就出现了,我这是最最最简答的一个入门

    关于mysqlbinlog的使用说明,可用的简单的命令参数:

    mysqlbinlog支持下面的选项:

    ·         ---help-

    显示帮助消息并退出。

    ·         ---database=db_name-d db_name

    使用该选项,如果mysqlbinlog读它不能识别的二进制日志事件,它会打印警告,忽略该事件并继续。没有该选项,如果mysqlbinlog读到此类事件则停止。

    ·         --host=host_name-h host_name

    获取给定主机上的MySQL服务器的二进制日志。

    ·         --password[=password]-p[password]

    当连接服务器时使用的密码。如果使用短选项形式(-p),选项和 密码之间不能有空格。如果在命令行中--password-p选项后面没有 密码值,则提示输入一个密码。

    ·         --port=port_num-P port_num

    用于连接远程服务器的TCP/IP端口号。

     --start-datetime=datetime

    从二进制日志中第1个日期时间等于或晚于datetime参量的事件开始读取。datetime值相对于运行mysqlbinlog的机器上的本地时区值格式应符合DATETIMETIMESTAMP数据类型。例如:

    shell> mysqlbinlog --start-datetime="2004-12-25 11:25:56" binlog.000003

    该选项可以帮助点对点恢复。

    ·         --stop-datetime=datetime

    从二进制日志中第1个日期时间等于或晚于datetime参量的事件起停止读。关于datetime值的描述参见--start-datetime选项。该选项可以帮助及时恢复

    简单的入门了解,然后自己继续构造数据进行试验
    展开全文
  • MYSQL 数据恢复

    2019-09-10 21:55:03
    环境信息 系统环境:Centos7.2 数据库:Mysql5.7 前置 开启 mysql binlog 日志功能 ...log-bin = /usr/local/mysql/binlog/mysql-bin.log 日志目录如下: 解决方案一 在binlog的目录中执行以下命令: ...

     环境信息

    系统环境:Centos7.2
    
    数据库:Mysql5.7
    

    前置

    开启 mysql binlog 日志功能 vim /etc/my.cnf 添加下面内容

    [mysqld]
    server_id=100
    log-bin = /usr/local/mysql/binlog/mysql-bin.log
    

    日志目录如下:

    解决方案一

    在binlog的目录中执行以下命令:

    mysqlbinlog  --no-defaults  -d DB_name   --start-datetime='2018-09-11 8:54:40' 
    --stop-datetime='2018-09-11 12:59:10'  mysql-bin.000032 >temp20180911.sql

    说明:将起始时间点为"2018-09-11 8:54:40",结束时间点为“2018-09-11 12:59:10”,这段时间内的"mysql-bin-000032"的binlog日志导出到临时脚本文件"temp20180911.sql"中,用于在mysql数据库里面使用source temp20180911.sql 进行恢复。

    也可以按照起始位置和结束位置来恢复(binlog_files自行替换):

    mysqlbinlog binlog_files | more  

      恢复示例:

    mysqlbinlog --stop-position="102" --start-position="367" mysql-bin.000001 | 
    mysql -uroot -pxxx database_name
    mysqlbinlog --start-datetime="2018-04-20 10:01:00" 
    --stop-datetime="2005-04-21 10:01:00" mysql-bin.000001 | 
    mysql -u root -pxxx   database_name

     

    参数说明:

    --database                             ##与"-d"作用相同,用于指定数据
    
    -d                                     ##与“database”作用相同,用于指定数据库
    
    --start-datetime                       ##起始时间点
    
    --stop-datetime                        ##结束时间点
    
    --start-position                       ##起始位置
    
    --stop-position                        ##结束位置

    然后进入mysql环境,执行脚本:

    mysql -uadmin -p
    
    source /usr/local/mysql/binlog/tmp20190910.sql

    解决方案二

    mysqlbinlog  --no-defaults  --start-datetime='2018-09-11 8:54:40' 
    --stop-datetime='2018-09-11 12:59:10' /root/mysql-bin.000032   |       mysql -uroot -p

    说明:将起始点与结束点之间的binlog日志,直接用于恢复(此种方法在非主从同步的机器上报错),建议采用方案一。
     

    注意

    reset 是重置日志的指令,要慎重使用。

    mysql> reset master;
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> show master status;
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000001 |      106 |              |                  |
    +------------------+----------+--------------+------------------+

     

    展开全文
  • mysql 数据恢复

    2017-10-26 17:28:21
    今天吐血向大家分享下mysql通过.frm和.ibd文件恢复数据的方法,因为之前电脑换系统的原因,忘记备份数据库,最后只能通过恢复工具找到数据库的.frm和.ibd文件,至于这两类文件,可以通过winhex软件查看,为了恢复...
  • MySQL数据恢复

    2018-10-20 21:19:11
    MySQL的数据库其相关文件都会存放在安装目录下,linux下为/val/lib/mysql文件夹中,不同的存储引擎创建的表其文件也不一样,下面来认识下这些数据库文件。 db.opt 用来记录该库的默认字符集编码和字符集排序规则用的...
  • mysql数据恢复

    千次阅读 2018-08-10 13:17:59
    今天在做实验的时候一不小心把数据库ibdata1文件删除了,然后数据库各种报错,本人也是虎躯一震,... 既然已经知道是因为文件被删除导致的,那么最开始的想法是恢复这个文件,可以参考https://jingyan.baidu.com/...
  • 数据库操作 --查找之前的入库语句--查看日志文件路径show variables like 'log_%';--查看当前日志文件号show master status;...mysql/bin目录操作 恢复数据--日志写文件# ./mysqlbinlog /www/server/data/mysql-...
  • 1.测试mysql binlog 数据恢复功能,我的mysql版本是5.7.172.删了数据之后,执行show binlog events 命令得到如下记录3.找到开始删除和结束删除的位置,然后执行恢复命令:mysqlbinlog --no-defaults --start-position...
  • mysql数据恢复:.frm和.ibd,恢复表结构和数据
  • 导读在日常运维工作中,对于mysql数据库的权限的规避,SQL审核优化、数据备份恢复...MySQL数据恢复方法总结1、使用Mysql 数据闪回工具恢复数据的文章:http://blog.51cto.com/qiuyt/20957582、今天的主角 【Mysqldum...
  • 从另一台机上把MySQL数据库的mysql文件夹拷贝到本地机上,目的是恢复本地机对数据的访问和操作。经过如下几种情况的操作。1. 在本地重装MySQL(安装目录D:\Program Files\MySQL\MySQL Server 5.0),直接把mysql...
  • MySQL数据恢复--binlog》首发橙寂博客转发请加此提示 binlog是mysql主从复制,以及数据恢复的核心,学会之后再也不用担心数据删错了,改错了。 MySQL数据恢复--binlog MySQL Binary Log也就是常说的bin-log,...
  • 所需资源数据库备份文件备份点-故障点之间的binlog文件机器资源操作说明mysqldump备份文件恢复拷贝备份文件到目标机器登录新建的目标数据库实例/opt/alisql/bin/mysql -uroot -pEnter password:Welcome to the MySQL...
  • 确切的说更像是一次数据迁移。...而后通过数据恢复工具恢复数据文件。前期研发的同事尝试启动恢复数据库,不成功,多轮尝试不成功后找到我。1.得到同事给的数据文件 ibdata1,Mysql安装目录MySQL\MySQL Server 5.5...
  • mysql数据恢复:.frm和.ibd,恢复表结构和数据一、恢复表结构二、恢复表数据 相关内容原文地址: CSDN:她说巷尾的樱花开了:mysql根据.frm和.ibd文件恢复表结构和数据 通过这次恢复数据发现,docker真的是方便,...
  • 精讲 MYSQL数据恢复

    千次阅读 2012-07-12 15:19:09
    MYSQL数据库毁坏发生的原因有许多,...在其他情况下也需要MYSQL数据恢复操作,例如,当用户错误地删除数据库或表时,或者错误地删除表的内容时。不论这些不幸的事件发生是由于什么原因,都需要MYSQL恢复它们。  如
  • 1.测试mysql binlog 数据恢复功能,我的mysql版本是5.7.172.删了数据之后,执行show binlog events 命令得到如下记录3.找到开始删除和结束删除的位置,然后执行恢复命令:mysqlbinlog --no-defaults --start-position...
  • 记一次Mysql数据恢复

    2019-04-06 20:56:03
    记一次Mysql数据恢复注:以下内容是从各位大神学习来的(因查找了太多的内容,已经记不清出处了,所以,你说是你的,那就是你的!),以及自己的总结,如果有不对的地方请指正!!!第一次写,轻喷!!!原因:因为...
  • 使用mysql恢复数据的机制是什么发布时间:2020-06-08 11:38:30来源:51CTO阅读:189作者:三月下文我给大家简单讲讲关于使用mysql恢复数据的机制,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇...
  • 日常工作中,总会有因手抖、写错条件、写错表名、错连生产库造成的误删库表和数据的事情发生,那么,如果连数据都恢复不了,还要...MySQL数据恢复: https://segmentfault.com/a/1190000020116271 1.前言 数据恢...
  • 背景:服务器在前一周到期关闭了,所有服务要重新启动,但mysql启动一直报错,尝试了各种方法都无法启动,项目原因决定重装mysql并尝试恢复数据。前置准备:因为之前项目没有做过备份,所以需要把整个数据库文件下载...
  • mysql数据恢复方案

    2020-05-08 20:00:33
    本文主要讲述在误操作后,恢复某个时间点之前的数据方式。 实验环境 mysql - 8.0.19 macOS catalina 10.15.3 mysql binlog 开启,并为row格式 数据库准备 创建数据库 CREATE TABLE `user_info` ( `id` bigint ...
  • 打开mysql的bin log功能:对于mysql也是支持增量备份,但要打开mysql的bin log功能。我们修改mysql的配置文件。linux是/etc/my.cnf,windows是mysql的安装目录/my.ini我们在...某客户更新数据的时候,误删了数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,538
精华内容 7,015
关键字:

mysql数据恢复

mysql 订阅