首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >意外卸载Mysql数据库但我有数据库文件夹如何恢复数据库

问意外卸载Mysql数据库但我有数据库文件夹如何恢复数据库
EN

Server Fault用户
提问于 2020-06-18 19:43:00
回答 2查看 637关注 0票数 1

我将我们的生产服务器混淆为临时服务器,并意外地卸载了MySql。我仍然完整地拥有/var/lib/mysql文件夹。我的服务器在ubuntu 16中

这就是我所做的卸载过程。sudo apt purge mysql*

如何还原数据库。请协助

EN

回答 2

Server Fault用户

发布于 2020-06-18 20:02:08

在暂存时卸载MySQL。先在那里测试一下程序。

对数据进行备份。如果安装脚本删除了现有数据库,我会非常惊讶。但还是复制一份以防万一。

安装MySQL。

将来,在进行测试时,删除对生产的访问。关闭它的所有会话。也许可以从ssh-agent中删除它的密钥。

票数 1
EN

Server Fault用户

发布于 2020-06-19 15:11:04

我在过去做过一个类似的过程来测试恢复的MySQL数据库是否正常工作(在从一个失败的驱动器恢复之后)。这是在Windows上,但它应该是一个类似的想法。确保您有一个额外的副本,您的数据库文件夹,以防出问题。

您需要安装相同版本的MySQL服务器。按版本下载在这里- https://downloads.mysql.com/archives/installer/

如果/当安装程序在选定的数据目录中找到现有的数据库文件时,我不确定安装程序会做什么。但是您可以指定一个不同的数据目录并完成安装。检查MySQL是否正常运行,并运行一个命令,比如显示数据库之类的。

一旦您有了一个功能良好的MySQL服务器,您就可以对数据库文件进行交换。

我遵循了答案中的说明- https://stackoverflow.com/a/12098668/620054

交换数据库文件-

  • 停止MySQL服务。
  • 将数据目录中的所有ib*文件重命名为将"FRESHINSTALL“置于开头或类似的位置。
  • 将原始数据目录(ibdata1、ib_logfile0、ib_logfile1、ib_buffer_pool (如果存在)以及数据库的任何子目录(带有frm文件)复制到新安装的数据目录中。不要复制系统数据库、mysql和performance_schema的目录。只复制你的数据库。
  • 检查ib_logfile0文件的大小。如果它大于默认值(我认为48 MB为48m),则需要调整MySQL配置以设置innodb_log_file_size=[actual size of iblogfile0]
  • 使用以下命令在恢复模式下运行MySQL:mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server x.x\my.ini" --standalone --console --innodb_force_recovery=6 (根据需要将路径更改为配置文件)
  • 启动MySQL服务。
  • 检查数据库是否显示并运行一些测试查询。

如果这一切都有效,那么您需要做一个备份或转储,这样您就可以销毁所有的东西,执行一个新的安装,并进行适当的恢复。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1022065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档