ib logfile0 能删除么

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ib logfile0 能删除么相关的知识,希望对你有一定的参考价值。

不能删
如果你的库是INNODB存储引擎,数据库未正常关闭,就没法通过这个错误日志来恢复数据库。。如果不是,重新启动mysql他会自动 建立这两个数据文件。具体看日志分析
参考技术A 删了,你的数据就没了。不能删除

删除掉mysql 的.ibd,.frm,ibdata1,ib_logfile0和ib_logfile1文件后再drop表。然后重建此表,有问题吗

数据都没有了,怎么重建表。

.frm 和.ibd可以用来批量恢复InnoDB的表。

    创建已经丢失的表结构

    先要安装 mysql-utilities。

    // RedHatyum -y install mysql-server mysql-utilities// Debianapt install mysql-utilities

    使用 mysqlfrm 从 .frm 文件里面找回建表语句。

    // 分析一个 .frm 文件生成建表的语句mysqlfrm --diagnostic /var/lib/mysql/test/t1.frm// 分析一个目录下的全部.frm文件生成建表语句root@username:~# mysqlfrm --diagnostic /var/lib/mysql/my_db/bk/ >createtb.sqlroot@username:~# grep "^CREATE TABLE" createtb.sql |wc -l124

    可以看到一共生成了 124 个建表语句。

    有很多时候也可以从其它库里面生成建表语句,如同一个应用的其它数据库或不同的测试环境,采用下面的 mysqldump 生成建表语句:

    mysqldump --no-data --compact my_db>createtb.sql

    登录 MySQL 生成表。

    mysql> create database my_db;mysql> use my_dbDatabase changedmysql> source createtb.sqlQuery OK, 0 rows affected (0.07 sec)......

    导入旧的数据文件

    将新建的没有包括数据的 .ibd 文件抛弃

    root@username:/var/lib/mysql/my_db# ll *.ibd|wc12411167941root@username:/var/lib/mysql/my_db# mysql -e "show tables from my_db" \\| grep -v  Tables_in_my_db  \\| while read a; do mysql -e "ALTER TABLE my_db.$a DISCARD TABLESPACE"; doneroot@username:/var/lib/mysql/my_db# ll *.ibd|wcls: cannot access '*.ibd': No such file or directory000

    可以看到所有的 .idb 文件都已经被抛弃了。然后把旧的有数据的 .ibd 文件拷贝到这个 my_db 目录下面,别忘了把属主改过来:chown mysql. *,再把这些数据文件 import 到数据库中。

    root@username:/var/lib/mysql/my_db# mysql -e "show tables from my_db" \\| grep -v  Tables_in_my_db  \\| while read a; \\do mysql -e "ALTER TABLE my_db.$a import TABLESPACE"; done

    导入完成后检查表

    使用 mysqlcheck 对数据库 my_db 下的所有表进行检查:

    root@username:/var/lib/mysql/my_db# mysqlcheck -c my_dbmy_db.cdp_backup_point                             OK......

    所有的表都导入成功。

参考技术A 删除掉mysql 的.ibd,.frm,ibdata1,ib_logfile0和ib_logfile1文件后再drop表。然后重建此表,有问题吗
删了,你的数据就没了。不能删除

以上是关于ib logfile0 能删除么的主要内容,如果未能解决你的问题,请参考以下文章

如何在删除ibdata1和ib_logfile的情况下恢复MySQL数据库

linux误操作删除文件后,还能还原么?

mysql中在哪 删除ib_logfile0

删除ib_logfile0和ib_logfile1,对mysql会有影响?

电脑c盘里aow -drv.log 可以删除么?

安装完boost后bin.v2文件夹可以删除么?