返回顶部
首页 > 资讯 > 数据库 >MySQL 5.6.26 误删ibdata该怎么恢复
  • 671
分享到

MySQL 5.6.26 误删ibdata该怎么恢复

2024-04-02 19:04:59 671人浏览 薄情痞子
摘要

Mysql 5.6.26 误删ibdata该怎么恢复,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 [root@h

Mysql 5.6.26 误删ibdata该怎么恢复,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

[root@hank-yoon ~]# ps -ef | grep mysql
root      1129     1  0 15:30 pts/0    00:00:00 /bin/sh /export/servers/mysql/bin/mysqld_safe --datadir=/export/data/mysql/data/ --pid-file=/export/data/mysql/mysql.pid
mysql     2284  1129  2 15:30 pts/0    00:00:01 /export/servers/mysql/bin/mysqld --basedir=/export/servers/mysql --datadir=/export/data/mysql/data/ --plugin-dir=/export/servers/mysql/lib/plugin --user=mysql --log-error=/export/data/mysql/log/error.log --open-files-limit=65535 --pid-file=/export/data/mysql/mysql.pid --Socket=/export/data/mysql/tmp/mysql.sock --port=3306
root      2343  1101  0 15:31 pts/0    00:00:00 grep mysql


[root@hank-yoon ~]# service mysql status
 SUCCESS! MySQL running (2284)
 
 
[root@hank-yoon ~]# cd /export/data/mysql/data/
[root@hank-yoon data]# ls
a.sql     binlog-rollback.pl  c.sql  ibdata1  ib_logfile0  ib_logfile2  mysql             mysql-bin.000035  mysql-bin%Y%M%d.000001  perfORMance_schema  sakila  yoon
auto.cnf  b.sql               hank   ibdata2  ib_logfile1  modify.pl    mysql-bin.000034  mysql-bin.index   mysql-bin%Y%M%d.index   rollback.pl         test




[root@hank-yoon data]# rm -rf ibdata1 ibdata2 


注意:无备份,误删ibdata文件,数据库千万不要重启,否则神仙下凡都没用了!
[root@hank-yoon data]# ps -ef | grep mysql
root      1129     1  0 15:30 pts/0    00:00:00 /bin/sh /export/servers/mysql/bin/mysqld_safe --datadir=/export/data/mysql/data/ --pid-file=/export/data/mysql/mysql.pid
mysql     2284  1129  1 15:30 pts/0    00:00:01 /export/servers/mysql/bin/mysqld --basedir=/export/servers/mysql --datadir=/export/data/mysql/data/ --plugin-dir=/export/servers/mysql/lib/plugin --user=mysql --log-error=/export/data/mysql/log/error.log --open-files-limit=65535 --pid-file=/export/data/mysql/mysql.pid --socket=/export/data/mysql/tmp/mysql.sock --port=3306
root      2362  1101  0 15:32 pts/0    00:00:00 grep mysql




[root@hank-yoon data]# ll /proc/2284/fd | egrep 'ib_|ibdata'
lrwx------. 1 root root 64 Jul 12 15:35 10 -> /export/data/mysql/data/ib_logfile0
lrwx------. 1 root root 64 Jul 12 15:35 11 -> /export/data/mysql/data/ib_logfile1
lrwx------. 1 root root 64 Jul 12 15:35 12 -> /export/data/mysql/data/ib_logfile2
lrwx------. 1 root root 64 Jul 12 15:35 4 -> /export/data/mysql/data/ibdata1 (deleted)
lrwx------. 1 root root 64 Jul 12 15:35 9 -> /export/data/mysql/data/ibdata2 (deleted)


表,禁止再写入数据,以便恢复工作
[root@hank-yoon data]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.26-log Source distribution


Copyright (c) 2000, 2015, oracle and/or its affiliates. All rights reserved.


Oracle is a reGIStered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


root((none))> flush table with read lock;
Query OK, 0 rows affected (0.00 sec)


root((none))> 




不能停业务,锁表后刷脏页
root((none))> flush table with read lock;
Query OK, 0 rows affected (0.00 sec)


root((none))> set global innodb_max_dirty_pages_pct=0;
Query OK, 0 rows affected (0.00 sec)




通过show mater status确定file和position不再变化
root((none))> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000035 |      120 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+


通过root((none))> show engine innodb status\G查看是否还有写入
TRANSACTIONS
------------
Trx id counter 59143
Purge done for trx's n:o < 58676 undo n:o < 0 state: running but idle
##确保后台Purge进程把undo log全部清除掉,事务ID要一致
History list length 462
LIST OF TRANSACTIONS FOR EACH SESSION:
---TRANSACTION 0, not started
MySQL thread id 1, OS thread handle 0x7f5cec6eb700, query id 9 localhost root init
-------------------------------------
INSERT BUFFER AND ADAPTIVE HASH INDEX
-------------------------------------
Ibuf: size 1, free list len 0, seg size 2, 0 merges
# insert buffer合并插入缓存等于1 
merged operations:
 insert 0, delete mark 0, delete 0
discarded operations:
 insert 0, delete mark 0, delete 0
Hash table size 2365241, node heap has 0 buffer(s)
0.00 hash searches/s, 0.00 non-hash searches/s
---
LOG
---
Log sequence number 14149940429
Log flushed up to   14149940429
Pages flushed up to 14149940429
Last checkpoint at  14149940429
#三个值相同
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 1098907648; in additional pool allocated 0
Dictionary memory allocated 59957
Buffer pool size   65528
Free buffers       65118
Database pages     410
Old database pages 0
Modified db pages  0
#确保脏数据为0
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 0, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 410, created 0, written 5
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
No buffer pool page gets since the last printout
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 410, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
--------------
ROW OPERATIONS
--------------
0 queries inside InnoDB, 0 queries in queue
0 read views open inside InnoDB
Main thread process no. 2284, id 140037101377280, state: sleeping
Number of rows inserted 0, updated 0, deleted 0, read 0
0.00 inserts/s, 0.00 updates/s, 0.00 deletes/s, 0.00 reads/s
#确保插入,更新,删除为0




再次找到这几个文件,恢复
[root@hank-yoon data]# ll /proc/2284/fd | egrep 'ib_|ibdata'
lrwx------. 1 root root 64 Jul 12 15:35 10 -> /export/data/mysql/data/ib_logfile0
lrwx------. 1 root root 64 Jul 12 15:35 11 -> /export/data/mysql/data/ib_logfile1
lrwx------. 1 root root 64 Jul 12 15:35 12 -> /export/data/mysql/data/ib_logfile2
lrwx------. 1 root root 64 Jul 12 15:35 4 -> /export/data/mysql/data/ibdata1 (deleted)
lrwx------. 1 root root 64 Jul 12 15:35 9 -> /export/data/mysql/data/ibdata2 (deleted)




[root@hank-yoon data]# cp /proc/2284/fd/4 /export/data/mysql/data/ibdata1


[root@hank-yoon data]# cp /proc/2284/fd/9 /export/data/mysql/data/ibdata2


修改权限
[root@hank-yoon data]# cd /export/data/mysql/data/
[root@hank-yoon data]# ls -ltr
total 4980844
drwx------. 2 mysql mysql       4096 Sep 30  2015 performance_schema
drwx------. 2 mysql mysql       4096 Sep 30  2015 mysql
-rw-rw----. 1 mysql mysql         56 Sep 30  2015 auto.cnf
drwx------. 2 mysql mysql       4096 Nov 18  2015 test
-rw-r--r--. 1 root  root       15886 Dec 24  2015 binlog-rollback.pl
-rwxr-xr-x. 1 root  root        2766 Jan  4  2016 modify.pl
-rw-r--r--. 1 root  root        2766 Jan  5  2016 rollback.pl
drwx------. 2 mysql mysql       4096 Mar 22 21:54 hank
-rw-rw----. 1 mysql mysql         25 Apr 13 10:04 mysql-bin%Y%M%d.index
-rw-rw----. 1 mysql mysql        143 Apr 13 10:05 mysql-bin%Y%M%d.000001
-rw-rw----. 1 mysql mysql  268435456 Jun 21 10:07 ib_logfile1
drwx------. 2 mysql mysql       4096 Jun 21 15:02 sakila
drwx------. 2 mysql mysql       4096 Jun 29 14:50 yoon
-rw-r--r--. 1 root  root        5087 Jun 29 14:53 a.sql
-rw-r--r--. 1 root  root         124 Jun 29 14:55 b.sql
-rw-r--r--. 1 root  root          47 Jun 29 14:56 c.sql
-rw-rw----. 1 mysql mysql       2027 Jul 12 15:30 mysql-bin.000034
-rw-rw----. 1 mysql mysql        120 Jul 12 15:30 mysql-bin.000035
-rw-rw----. 1 mysql mysql         38 Jul 12 15:30 mysql-bin.index
-rw-rw----. 1 mysql mysql  268435456 Jul 12 15:30 ib_logfile2
-rw-rw----. 1 mysql mysql  268435456 Jul 12 15:30 ib_logfile0
-rw-r-----. 1 root  root  2147483648 Jul 12 15:55 ibdata1
-rw-r-----. 1 root  root  2147483648 Jul 12 15:55 ibdata2


[root@hank-yoon data]# chown -R mysql.mysql ibdata1 ibdata2


重启登录数据库
[root@hank-yoon data]# service mysql restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL... SUCCESS! 


[root@hank-yoon data]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.26-log Source distribution


Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.


Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


root((none))> 

看完上述内容,你们掌握MySQL 5.6.26 误删ibdata该怎么恢复的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL 5.6.26 误删ibdata该怎么恢复

本文链接: https://lsjlt.com/news/62059.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL 5.6.26 误删ibdata该怎么恢复
    MySQL 5.6.26 误删ibdata该怎么恢复,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 [root@h...
    99+
    2024-04-02
  • mysql ibdata文件 误删除 恢复
    1 当我们误删除ibdata 文件时 千万不要慌张 此时只要不重启服务 mysql数据库还是可以使用的 如何恢复 前提 不要把mysqld进程杀死,且不能关闭mysql服务  查到mysql...
    99+
    2024-04-02
  • Mysql中误删ibdata ib_logfile等文件怎么办
    这篇文章主要介绍了Mysql中误删ibdata ib_logfile等文件怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 ...
    99+
    2024-04-02
  • mysql误删除表怎么恢复
    当MySQL中的表被误删除后,有以下几种方法可以尝试恢复: 使用回收站功能(仅适用于 InnoDB 引擎):如果你使用的是 In...
    99+
    2023-10-27
    mysql
  • mysql误删数据怎么恢复
    mysql误删数据可通过以下步骤恢复:停止数据库服务,防止数据覆盖。若开启binlog日志,可从中提取删除语句,再重新执行后将数据恢复。使用恢复工具修复表文件或恢复事务。从备份中恢复数据...
    99+
    2024-05-16
    mysql
  • windows电脑误删的文件该怎么恢复
    windows电脑误删的文件该怎么恢复,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。如果一个文件在回收站里被清空,是否还有机会恢复过来呢其实要恢复百分百是很有难...
    99+
    2023-06-28
  • MySQL误删root用户怎么恢复
    本篇内容介绍了“MySQL误删root用户怎么恢复”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一个朋友在...
    99+
    2024-04-02
  • mysql误删除数据怎么恢复
    这篇文章主要介绍“mysql误删除数据怎么恢复”,在日常操作中,相信很多人在mysql误删除数据怎么恢复问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql误删除数据怎么...
    99+
    2024-04-02
  • mysql怎么恢复误删的数据
    在MySQL中,如果误删了数据,可以通过以下方法恢复: 使用备份文件恢复数据:如果有备份文件,可以将备份文件中的数据恢复到数据库...
    99+
    2023-10-28
    mysql
  • MySQL 恢复误删数据
    文章目录 1、查看是否启用 binlog 日志2、查看所有 binlog 日志3、查看正在使用的日志4、查找日志所在文件夹5、log 日志转 sql6、delete 转 insert 恢复误删...
    99+
    2023-09-05
    mysql 数据库
  • Mysql误删除数据库怎么恢复
    这篇文章主要讲解了“Mysql误删除数据库怎么恢复”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql误删除数据库怎么恢复”吧! ...
    99+
    2024-04-02
  • Windows系统中360误删的文件该怎么恢复
    Windows系统中360误删的文件该怎么恢复,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。简介 有很多网友在使用360安全卫士的时候,经常会误删掉很多文件,为此我把自己一...
    99+
    2023-06-14
  • 操作MySQL误删数据库备份该如何恢复
    下文主要给大家带来操作MySQL误删数据库备份该如何恢复,希望这些内容能够带给大家实际用处,这也是我编辑操作MySQL误删数据库备份该如何恢复这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。&nbs...
    99+
    2024-04-02
  • mysql中怎么删除ibdata文件
    本篇文章给大家分享的是有关mysql中怎么删除ibdata文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 在数...
    99+
    2024-04-02
  • windows office365误删怎么恢复
    今天小编给大家分享一下windows office365误删怎么恢复的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。offic...
    99+
    2023-06-30
  • oracle误删表怎么恢复
    恢复误删的 oracle 表的方法有两种:使用回滚段:恢复最近已删除的表,步骤包括:查询回滚段、创建临时表、复制数据、删除临时表。使用备份:恢复较旧或回滚段不可用的已删除表,步骤包括:使...
    99+
    2024-04-18
    oracle 数据丢失
  • navicat误删表怎么恢复
    navicat 误删表恢复方法:检查回收站中是否有误删表并还原。使用二进制日志恢复:打开二进制日志,查找起始和停止位置,从二进制日志文件中恢复表并导回数据库。使用第三方备份工具定期备份数...
    99+
    2024-04-24
    mysql navicat 数据丢失
  • MySQL误删库恢复实战
    创建测试库、表 create database test; use test; create table leo (id int,name varchar(10)); 插入数据 insert i...
    99+
    2024-04-02
  • MySQL数据库误删恢复
    前言        经常听说删库跑路这真的不只是一句玩笑话,若不小心删除了数据库,事情很严重。你一个不小心可能会给公司删没。建议研发不要直连生成环境,一般的话都会分配账号权限,生产环境的账号尽量是只读,以防你一个不经意给库或表删除。一定...
    99+
    2023-09-02
    数据库 sql
  • 误删除InnoDB ibdata数据文件怎么办
    这篇文章主要介绍了误删除InnoDB ibdata数据文件怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 下边这个案例模拟人...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作