线上服务器上的数据库启动不起来了 如何恢复数据

前言

同事不知道线上数据库里面有正在运行的数据,直接kill掉了,重新装了一个新的数据库。然后,悲剧发生了,线上服务突然访问不了,查看日志,发现是数据库连不上了,他偷偷的新的数据库停了,然后准备重启老的数据库,发现根本启动不起来,报各种错误,网上百度的说需要重新安装数据库。

找到源数据文件

搜索数据库名

find / -iname "*数据库名*"

发现数据库在/var/lib/mysql目录下

cd /var/lib/mysql
# 压缩
tar -cvf mysql.tar mysql

下载mysql.tar到本地,解压文件
![在这里插入图片描述]( https://img-blog.csdnimg.cn/20200730195455611.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3MTY4ODU2,size_16,color_FFFFFF,t_70)

注意!!!本地需要先有个 mysql 数据库,打开本地数据库数据文件所在目录
在这里插入图片描述
Data 先备份一下 不然你自己本地数据库恢复不了!!!

![在这里插入图片描述]( https://img-blog.csdnimg.cn/20200730200304508.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3MTY4ODU2,size_16,color_FFFFFF,t_70)
在这里插入图片描述

将从线上下载下来的数据源文件复制到 本地Data目录
![在这里插入图片描述]( https://img-blog.csdnimg.cn/20200730200542563.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3MTY4ODU2,size_16,color_FFFFFF,t_70)
本地mysql 里面的Data目录的ibdata1文件备份一份
![在这里插入图片描述]( https://img-blog.csdnimg.cn/20200730200945357.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3MTY4ODU2,size_16,color_FFFFFF,t_70)
关闭本地 MySQL 服务

![在这里插入图片描述]( https://img-blog.csdnimg.cn/20200730201441905.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3MTY4ODU2,size_16,color_FFFFFF,t_70
![在这里插入图片描述]( https://img-blog.csdnimg.cn/20200730201514614.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3MTY4ODU2,size_16,color_FFFFFF,t_70)

然后将线上的 ibdata1 把本地的替换掉

![在这里插入图片描述]( https://img-blog.csdnimg.cn/202007302013224.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3MTY4ODU2,size_16,color_FFFFFF,t_70)

重启本地MySQL服务
![在这里插入图片描述]( https://img-blog.csdnimg.cn/20200730201618979.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3MTY4ODU2,size_16,color_FFFFFF,t_70)
Navicat 连接本地数据库
![在这里插入图片描述]( https://img-blog.csdnimg.cn/20200730202057321.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3MTY4ODU2,size_16,color_FFFFFF,t_70)
数据也在
在这里插入图片描述
在这里插入图片描述
不信 自己可以试试看
在这里插入图片描述

这时候 , 你看下本地的其他数据库,发现

![在这里插入图片描述]( https://img-blog.csdnimg.cn/20200730202355887.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3MTY4ODU2,size_16,color_FFFFFF,t_70)

![在这里插入图片描述]( https://img-blog.csdnimg.cn/20200730202601317.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3MTY4ODU2,size_16,color_FFFFFF,t_70)

别急!!!只需要把原来的 ibdata1 文件还原回来就可以了

![在这里插入图片描述]( https://img-blog.csdnimg.cn/20200730202832385.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3MTY4ODU2,size_16,color_FFFFFF,t_70)

在这里插入图片描述
![在这里插入图片描述]( https://img-blog.csdnimg.cn/20200730203008583.png?x-oss-process=image/watermark ,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3MTY4ODU2,size_16,color_FFFFFF,t_70)
在这里插入图片描述
好神奇!!!
把线上的 ibdata1 文件覆盖 就可以了

小结

有时候数据库停了不要紧张,只要数据还在就没事!

参考

https://www.jianshu.com/p/1c0a8dc21e1d

posted @ 2020-07-30 20:45  时刻在奔跑  阅读(288)  评论(0)    收藏  举报