zoukankan      html  css  js  c++  java
  • 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下应该也能成功. 

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

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

  • 相关阅读:
    常用资料管理
    IIC学习笔记
    博客的开始
    试用Markdown编辑器
    裁剪方法--layer.makesToBounds 和 clipsToBounds区别和联系
    block循环引用问题--内存泄露
    UITextFiled/UITextView---占位文字的设置
    使用KVC取得私有成员变量时报连线错误
    Xcode开发--运行时runtime
    Xcode开发--屏蔽警告
  • 原文地址:https://www.cnblogs.com/ITPower/p/8678301.html
Copyright © 2011-2022 走看看