Centos下MySQL数据找回MySQL重复安装等问题记录

问题点


       早上起来打开项目,突然发现数据库怎么都连不上,重启数据转圈半天没有反映,心急直接reboot服务器,重启服务器后mysql -u root -p发现启动文件都没有了,现象跟已经用rpm包装了一个数据库,然后又在宝塔重装一个的现象类似。

百度资料


       通过百度相关资料,发现网上比较常用的方法有两种:

  1. extundelete恢复删除文件;
  2. 通过数据库本身的ibd、frm文件进行恢复;

       但以上两种方式操作起来都不太简单,经过反复查阅资料后决定把var/lib/mysql目录下的ibd、frm等文件做个备份,然后通过缺什么补什么的原理来尝试恢复。
       这里说一下,我本来是准备做个实例快照,无奈阿里云收费,最后只能司马当活马医,自己动手弄。
在这里插入图片描述

修复过程


查询已安装数据库(mysql),看看是否是覆盖安装,如果是直接删掉最新安装的版本。
rpm -qa | grep mysql

删除密令(mysql 是查询出来的mysql 版本)

rpm -e --nodeps mysql 

       检查原来的mysql版本还差什么内容,哪些文件被误删了,配置环境是否还在是否需要更改等。为了方便做比较,我用另外一台服务器也装了一个数据库,本来想装一个一样的版本,但习惯用rpm包安装,发现虽然都是5.6,但是后缀还是不一样,不过没关系。

装完查一下mysql相关目录,对比是否有被删文件和目录。

find / name mysql

看/etc/my.cnf文件是否还在并查看是否有改变,有就改回来。

vi /etc/my.cnf

       通过比较发现我这个主要缺少启动文件、my.cnf和/usr/bin/下面相关的mysql文件和目录。直接把主要的启动文件、my.cnf直接从另外一台服务器复制过来(记得缺权限就给权限),然后尝试启动和查看状态,会发现报很多错,到这里我也不记得操作了多少东西了,总之缺什么补什么,报什么错误就解决什么错。

以下是几个是我当时的操作截图:
查看状态,尝试启动
       通过查看状态和尝试启动来看看缺少哪些文件,从另外服务器上复制过来,反复该步骤。
在这里插入图片描述
       最后发现既然可以登录进去了,查看状态虽然提示有点不正常,赶紧登录进去看看数据还在不在。
       结局是万幸的,数据没有丢失,一次性把所有数据都拷贝出来,重装一下mysql,然后再一一把数据导入进去。

THE END


       感谢查阅,我知道我的操作流程99%对你来说是不能解决问题,重要要是处理的逻辑,因为网上说的其他方法,操作起来时间上一定不会比我这个少。特别是ibd和frm文件一个表一个表的恢复,类似我这种所有开发数据都放在里面,有几十个库的人来说肯定是不划算的。这里提一下,我用了一早上进行恢复。

参考资料:

https://blog.csdn.net/hi__study/article/details/53489672?utm_medium=distribute.wap_relevant.none-task-blog-baidujs_utm_term-1

https://blog.csdn.net/u013760453/article/details/82734437?utm_medium=distribute.wap_relevant_download.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.wap_relevant_download.none-task-blog-baidujs-1.nonecase

https://www.centoschina.cn/course/intermediate/9531.html

玉念聿辉:编辑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玉念聿辉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值