博客
关于我
重装Ubuntu系统后Mysql 数据恢复历程
阅读量:778 次
发布时间:2019-03-25

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

安装了新的Ubuntu 16.04-server系统后,我发现服务器的部分数据丢失了,幸运的是硬盘未被格式化,至少保留了恢复MySQL数据的希望。默认的MySQL数据库目录位于**/var/lib/mysql**。

在尝试恢复数据的过程中,我需要先停止MySQL服务并挂载旧硬盘到本地电脑上。已知数据库目录下的文件位于**/media/user/f101a309-d55a-4a50-8e1c-d63534146b6f**。通过查看目录结构,确认了包含factoryTest数据库的相关文件和配置。

在初步尝试中,我将发现的数据库文件直接复制到服务器对应的MySQL目录下,并调整文件权限后,尝试重新启动数据库。但这次尝试并未成功,数据读取仍然失败,这让我意识到我需要采取更系统的方法来恢复数据。

通过进一步的搜寻和参考,了解到使用mysqlfrm工具可以帮助恢复表结构。我尝试在系统上安装了mysql-utilities软件包,并执行了以下命令:

mysqlfrm --diagnostic FactoryTest/Wifi.frm

这允许我从**.frm文件中提取表结构信息。创建了表的基本语句后,我可以手动复制这些语句并执行,成功创建了FactoryTest中的Wifi**表格。

接下来,为了恢复具体的数据,我使用了以下命令:

ALTER TABLE FactoryTest.Wifi DISCARD TABLESPACE;

这条命令帮助我释放了表的表空间占用空间。然后,我直接复制包含实际数据的**.idb**文件:

sudo cp -rn . /var/lib/mysql/FactoryTest/

完成复制后,我确保了文件权限:

sudo chown mysql:mysql -R /var/lib/mysql/FactoryTest

最后,在重新启动MySQL服务后,我通过执行以下命令为表格恢复数据空间:

ALTER TABLE FactoryTest.Wifi IMPORT TABLESPACE;

通过以上步骤,.db文件被成功复制并恢复了数据库中的数据,最终达成了恢复任务的目标。

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

你可能感兴趣的文章
Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型
查看>>
Mysql学习总结(56)——MySQL用户管理和权限设置
查看>>
Mysql学习总结(58)——深入理解Mysql的四种隔离级别
查看>>
Mysql学习总结(59)——数据库分库分表策略总结
查看>>
Mysql学习总结(60)——并发量大、数据量大的互联网业务数据库设计规范总结
查看>>
Mysql学习总结(61)——MySQL优化之DBA级优化整理汇总
查看>>
Mysql学习总结(64)——Mysql配置文件my.cnf各项参数解读
查看>>
Mysql学习总结(65)——项目实战中常用SQL实践总结
查看>>
Mysql学习总结(66)——设置MYSQL数据库编码为UTF-8
查看>>
Mysql学习总结(68)——MYSQL统计每天、每周、每月、每年数据 SQL 总结
查看>>
Mysql学习总结(69)——Mysql EXPLAIN 命令使用总结
查看>>
Mysql学习总结(6)——MySql之ALTER命令用法详细解读
查看>>
Mysql学习总结(70)——MySQL 优化实施方案
查看>>
Mysql学习总结(71)——MySQL 重复记录查询与删除总结
查看>>
Mysql学习总结(73)——MySQL 查询A表存在B表不存在的数据SQL总结
查看>>
Mysql学习总结(77)——温故Mysql数据库开发核心原则与规范
查看>>
Mysql学习总结(78)——MySQL各版本差异整理
查看>>
Mysql学习总结(79)——MySQL常用函数总结
查看>>
Mysql学习总结(7)——MySql索引原理与使用大全
查看>>
Mysql学习总结(80)——统计数据库的总记录数和库中各个表的数据量
查看>>