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恢复的更多相关文章
- (4.10)mysql备份还原——利用binlog+全备恢复误删表【不推荐使用】
关键误操作:mysql误删除 1.备份+binlog恢复数据 [1.1]场景:不小心误删除某张表 [1.2]解决方法:在另外一台机器,恢复全库+日志,然后导出删除的表,再插入会生产库. [1.3]案例 ...
- mysql用户授权及数据备份恢复
用户授权与权限撤销 修改数据库管理员从本机登陆的密码测试: mysqladmin -hlocalhost -uroot -p password "新密码" Enter passwo ...
- MySQL日志管理、备份、恢复
目录: 一.MySQL 日志管理 二.数据库备份的重要性与分类 三.常见的备份方法 四.MySQL完全备份 五.数据库完全备份分类 六.MySQL增量备份 七.MySQL数据库增量恢复 八.MySQL ...
- mysql InnoDB通过.frm和.ibd恢复表和数据
ibdata1是一个用来构建innodb系统表空间的文件,这个文件包含了innodb表的元数据.撤销记录.修改buffer和双写buffer.如果file-per-table选项打开的话,该文件则不一 ...
- 技术分享 | 简单测试MySQL 8.0.26 vs GreatSQL 8.0.25的MGR稳定性表现
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. M ...
- [MySQL Reference Manual] 7 备份和恢复
7. 备份和恢复 本章主要会介绍: 1.备份的类型:逻辑备份,物理备份,全备和增量4种 2.创建备份的方法 3.还原方法,包括还原到时间点 4.备份计划,压缩和加密 5.表维护,恢复损坏的表 7. 备 ...
- Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.4.7 + MySQL 5.6.26 笔记
Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.8.0/1.4.7 + MySQL 5.6.26 笔记,主要是给自己的PC机安装,非生产环境! 一.下载必要的源码 1.1.下 ...
- Ubuntu 12 安装 MySQL 5.6.26 及 问题汇总
参考先前的文章:Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.4.7 + MySQL 5.6.26 笔记 安装过程: #安装依赖库 sudo apt-get install ...
- 第五章 MySQL事务,视图,索引,备份和恢复
第五章 MySQL事务,视图,索引,备份和恢复 一.事务 1.什么是事务 事务是一种机制,一个操作序列,它包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求.要么都执行 ...
随机推荐
- java学习笔记4——返回值
这个简单,返回值就是计算结果. 打个比方:个表格中我只要结果,不要经过,这个返回值就是结果.这个过程就是函数. 另外还有一个函数套用一个函数,被套用的函数的结果作为一个返回值给套用的外层函使用.比如: ...
- Java中面向对象三大特性之——封装
概述 面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改. 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问.要访问该类的数据,必须通 ...
- javaee 文件的读取
package Shurushucu; import java.io.FileNotFoundException; import java.io.FileOutputStream; import ja ...
- mysql笔记1------基础
1.简介 (这两个结构就是ER模型)
- Python数据分析4------------数据变换
1.简单变换: 开方.平方.对数等 2.数据规范化: (1)离差标准化(最小最大标准化):消除量纲(单位)影响以及变异大小因素的影响. x1=(x-min)/(max-min) 代码:data1=(d ...
- 【JavaScript框架封装】使用Prototype给Array,String,Function对象的方法扩充
/* * @Author: 我爱科技论坛* @Time: 20180705 * @Desc: 实现一个类似于JQuery功能的框架* V 1.0: 实现了基础框架.事件框架.CSS框架.属性框架.内容 ...
- Laravel的维护模式
1.开启维护模式: php artisan down 2.关闭维护模式:php artisan up 3.当应用处于维护模式时,所有的路由都会指向一个自定义的视图.这对于更新应用或执行维护任务时临时 ...
- P1546 最短网络 Agri-Net (kruskal)
题目背景 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助. 题目描述 约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其 ...
- Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存
Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存 参考:<linux编程从入门到精通>,<Linux C程序设计大全>,<unix环境高级编程> ...
- Python Django log日志
log日志 log开发日志 一.创建项目 1.python -m venv ll_env # 创建虚拟环境 2.source ll_env/bin/activate # 激活虚拟环境 3.pip in ...