ITPub博客

首页 > Linux操作系统 > Linux操作系统 > mysql ibdata1 ib_logfile的恢复

mysql ibdata1 ib_logfile的恢复

原创 Linux操作系统 作者:wang_0720 时间:2013-11-06 14:32:15 0 删除 编辑
mysql如果使用的是innodb存储引擎,那么在mysql的DATA_HOME(一般是/var/lib/mysql)下,会有几个很重要的文件,ibdata1(数据文件)存放mysql的数据及索引,ib_logfileN(redo log事务日志文件)。如果误删除了这几个文件中的某个或某几个,下面的方法可以教你恢复。 

    误删除文件后,可以发现mysqld进程仍然在运行,这时千万别停掉mysql!!!要做的有如下几件事:
1 FLUSH TABLES WITH READ LOCK;
2 查看mysql pid
ps -ef |grep mysql|grep -v root|awk '{print $2}'
或者
[root@rac1 mysql]# netstat -tnulp|grep 3306
tcp        0      0 0.0.0.0:3306               0.0.0.0:*                  LISTEN      7091/mysqld
7091就是我要取的mysql pid
3 查看文件句柄
[root@rac1 mysql]# ll /proc/7091/fd|egrep 'ib_|ibdata1'
lrwx------ 1 root root 64 Sep 10 11:25 10 -> /var/lib/mysql/ib_logfile1
lrwx------ 1 root root 64 Sep 10 11:25 11 -> /var/lib/mysql/ib_logfile2
lrwx------ 1 root root 64 Sep 10 11:25 4 -> /var/lib/mysql/ibdata1
lrwx------ 1 root root 64 Sep 10 11:25 9 -> /var/lib/mysql/ib_logfile0
[root@rac1 mysql]#
查询显示的10 11 4 9就是对应的mysql文件。
4 把这些文件copy到mysql的DATA_HOME下并改属性
cp /porc/7091/fd/10 /var/lib/mysql
cp /porc/7091/fd/11 /var/lib/mysql
cp /porc/7091/fd/4 /var/lib/mysql
cp /porc/7091/fd/9 /var/lib/mysql
chown mysql.mysql -R /var/lib/mysql
5 重启mysql

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27181165/viewspace-775841/,如需转载,请注明出处,否则将追究法律责任。

上一篇: mysql备份脚本
下一篇: mysql5.5安装
请登录后发表评论 登录
全部评论

注册时间:2013-11-05

  • 博文量
    111
  • 访问量
    907724