阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL 5.6.26 误删ibdata恢复

146次阅读
没有评论

共计 7252 个字符,预计需要花费 19 分钟才能阅读完成。

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))>

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-07/133150.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计7252字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中