博客
关于我
数据库无法启动 通过.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/

    你可能感兴趣的文章
    Node-RED通过npm安装的方式对应卸载
    查看>>
    node-request模块
    查看>>
    node-static 任意文件读取漏洞复现(CVE-2023-26111)
    查看>>
    Node.js 8 中的 util.promisify的详解
    查看>>
    node.js debug在webstrom工具
    查看>>
    Node.js HTTP模块详解:创建服务器、响应请求与客户端请求
    查看>>
    Node.js RESTful API如何使用?
    查看>>
    node.js url模块
    查看>>
    Node.js Web 模块的各种用法和常见场景
    查看>>
    Node.js 之 log4js 完全讲解
    查看>>
    Node.js 函数是什么样的?
    查看>>
    Node.js 函数计算如何突破启动瓶颈,优化启动速度
    查看>>
    Node.js 切近实战(七) 之Excel在线(文件&文件组)
    查看>>
    node.js 初体验
    查看>>
    Node.js 历史
    查看>>
    Node.js 在个推的微服务实践:基于容器的一站式命令行工具链
    查看>>
    Node.js 实现类似于.php,.jsp的服务器页面技术,自动路由
    查看>>
    Node.js 异步模式浅析
    查看>>
    node.js 怎么新建一个站点端口
    查看>>
    Node.js 文件系统的各种用法和常见场景
    查看>>