前言
同事不知道线上数据库里面有正在运行的数据,直接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