博客
关于我
重装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 调优/优化的 101 个建议!
查看>>
mysql 转义字符用法_MySql 转义字符的使用说明
查看>>
mysql 输入密码秒退
查看>>
mysql 递归查找父节点_MySQL递归查询树状表的子节点、父节点具体实现
查看>>
mysql 通过查看mysql 配置参数、状态来优化你的mysql
查看>>
mysql 里对root及普通用户赋权及更改密码的一些命令
查看>>
Mysql 重置自增列的开始序号
查看>>
mysql 锁机制 mvcc_Mysql性能优化-事务、锁和MVCC
查看>>
MySQL 错误
查看>>
mysql 随机数 rand使用
查看>>
MySQL 面试题汇总
查看>>
MySQL 面试,必须掌握的 8 大核心点
查看>>
MySQL 高可用性之keepalived+mysql双主
查看>>
MySQL 高性能优化规范建议
查看>>
mysql 默认事务隔离级别下锁分析
查看>>
Mysql--逻辑架构
查看>>
MySql-2019-4-21-复习
查看>>
mysql-5.6.17-win32免安装版配置
查看>>
mysql-5.7.18安装
查看>>
MySQL-Buffer的应用
查看>>