MySQL误删除frm文件该怎么办?

MySQL误删除frm文件该怎么办?

情况一:误删后还未重启MySQL
1、从proc中恢复.frm文件。
# cp /proc/`pidof mysqld`/fd/误删除的.frm /datadir/db/对应库的目录/


情况二:误删后也重启MySQL了
从备份中获取表结构。
1、物理备份
    从物理备份中直接把.frm文件拷贝回来。
2、逻辑备份
    找到该表的DDL,在备用实例创建该表,再把.frm文件拷贝回来。


注意事项:
    1、无论是情况一还是情况二,都需要重新设置属主和属组。
    2、若恢复期间对该表执行了新的DDL,则上述方法可能都无效。
    3、本案例在MySQL 5.7.18版本(开启表独立空间模式)下亲测通过。
原文地址:https://www.cnblogs.com/zhouwanchun/p/13150948.html