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

前言

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

找到源数据文件

搜索数据库名

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

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

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

下载mysql.tar到本地,解压文件
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

将从线上下载下来的数据源文件复制到 本地Data目录
在这里插入图片描述
本地mysql 里面的Data目录的ibdata1文件备份一份
在这里插入图片描述
关闭本地 MySQL 服务

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

重启本地MySQL服务
在这里插入图片描述
Navicat 连接本地数据库
在这里插入图片描述
数据也在
在这里插入图片描述
在这里插入图片描述
不信 自己可以试试看
在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
好神奇!!!
把线上的 ibdata1 文件覆盖 就可以了

小结

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

参考

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


版权声明:本文为qq_37168856原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。