博客
关于我
数据库无法启动 通过.frm.ibd文件恢复数据
阅读量:466 次
发布时间:2019-03-06

本文共 1121 字,大约阅读时间需要 3 分钟。

MySQL 数据库恢复指南

在处理 MySQL 数据库问题时,确保数据库文件的安全备份是关键。以下是数据库恢复的详细步骤,帮助你快速解决问题。

获取表结构

创建新表

首先,你需要创建一个与原表结构相同的新表。确保新表的字段数和类型与原表一致。可以通过以下命令创建新表:

CREATE TABLE book LIKE original_book;

关闭数据库服务

在操作数据库文件之前,务必关闭数据库服务,以防止文件被锁定或修改。

service mysql stop

复制和覆盖文件

将备份的 book.frm 文件复制到新表的文件位置,并覆盖原文件:

cp /path/to/book.frm /var/lib/mysql/

修改数据库配置文件

在恢复完成后,重启数据库服务前,请确保数据库配置文件 /etc/mysql/my.cnf 中设置为:

innodb_force_recovery = 6

启动数据库服务

启动数据库服务,以验证表结构是否正确:

service mysql start

验证表结构

进入MySQL,使用以下命令查看表结构:

DESCRIBE book;

恢复数据

重启数据库服务

重启数据库服务,确保所有表格和索引重新加载:

service mysql restart

执行数据恢复

使用以下命令恢复表的数据和索引:

ALTER TABLE book DISCARD TABLESPACE;

复制和权限设置

将备份的 book.ibd 文件复制到数据库目录,并设置适当的权限:

cp /path/to/book.ibd /var/lib/mysql/
chown mysql:mysql book.ibd

导入数据

使用以下命令将数据恢复到表中:

ALTER TABLE book IMPORT TABLESPACE;

查看恢复结果

最终,使用以下命令验证表数据是否恢复:

SELECT * FROM book;

注意事项

  • 错误处理

    在执行 ALTER TABLE book DISCARD TABLESPACE; 时,可能会出现以下错误:

    ERROR 1015 (HY000): Can't lock file (errno: 165 - Table is read only)

    请确保已将 innodb_force_recovery 设置为 0,然后重启数据库服务。

  • 文件权限

    在恢复 book.ibd 文件之前,请确保文件权限设置为:

    chown mysql:mysql book.ibd
  • 通过以上步骤,你可以成功恢复MySQL数据库的表结构和数据。如果遇到其他问题,请参考MySQL官方文档或联系技术支持。

    转载地址:http://gpabz.baihongyu.com/

    你可能感兴趣的文章
    Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
    查看>>
    nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
    查看>>
    Nginx 反向代理解决跨域问题
    查看>>
    Nginx 反向代理配置去除前缀
    查看>>
    nginx 后端获取真实ip
    查看>>
    Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
    查看>>
    Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
    查看>>
    Nginx 常用配置清单
    查看>>
    nginx 常用配置记录
    查看>>
    Nginx 我们必须知道的那些事
    查看>>
    Nginx 的 proxy_pass 使用简介
    查看>>
    Nginx 的配置文件中的 keepalive 介绍
    查看>>
    Nginx 负载均衡与权重配置解析
    查看>>
    Nginx 负载均衡详解
    查看>>
    nginx 配置 单页面应用的解决方案
    查看>>
    nginx 配置https(一)—— 自签名证书
    查看>>
    nginx 配置~~~本身就是一个静态资源的服务器
    查看>>
    Nginx 配置解析:从基础到高级应用指南
    查看>>
    nginx+Tomcat性能监控
    查看>>
    Nginx下配置codeigniter框架方法
    查看>>