MySql教程

linux服务器MySQL数据从磁盘拷贝以及恢复

本文主要是介绍linux服务器MySQL数据从磁盘拷贝以及恢复,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

偶有感触:遇到这个问题,经过一个下午的排查, 终于解决。 

故事情节:我的阿里云服务器突然被******了,整个系统down了。 找客服,他们排查说usr目录的文件全部丢失。让我重新初始化系统盘。初始化之前先生成一个快照。还好生成了快照,让事情没有发展为不可挽救的地步。

mysql数据库数据恢复。

其他的问题都一一解决了。 到了最后, mysql上的数据无论如何都不能正常显示出来。数据库不要紧(有备份), 之前的数据才是最要紧的。

这就是本文的目的。 最终如何将mysql数据显示出来。

--------------------------------------------------------------------

首先:快照生成的磁盘挂载到了/mnt目录下. mysql的数据库文件目录是/var/lib/mysql. 挂载到/mnt下的原mysql数据库文件目录就是/mnt/var/lib/mysql

想要恢复mysql中的rap_db数据. 并且恢复数据. 我的做法如下:

1. 将rap_db的表结构创建好. 可以在Navicat客户端生成.

2. 将/var/lib/mysql下的ibdata1文件删除

 

3. 将/mnt/var/lib/mysql下的ibdata1拷贝到/var/lib/mysql下. 

注: 我们数据库实际的数据都是放在ibdata1下的, 所以这个文件很重要

4. 一定要注意修改文件的权限

  chown mysql:mysql ibdata1

-----------------------------------------------------------------------------------

以上是我的做法. 但是,我觉得直接将/mnt/var/lib/mysql文件夹下的rap_db文件夹和ibdata1文件一起拷贝到/var/lib/mysql下应该也能成功. 

最后别忘了修改文件夹和文件的权限. 

这个方法我没有测试, 上面的方法亲测有效.

 

这篇关于linux服务器MySQL数据从磁盘拷贝以及恢复的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!