zoukankan      html  css  js  c++  java
  • MySQL数据库InnoDB引擎下服务器断电数据恢复

    说明:

    线上的一台MySQL数据库服务器突然断电,造成系统故障无法启动,重新安装系统后,找到之前的MySQL数据库文件夹。

    问题:

    通过复制文件的方式对之前的MySQL数据库进行恢复,发现在程序调用时找不到数据库中的表,造成网站无法正常访问。

    分析:

    1、MySQL数据库,使用拷贝文件方式来恢复数据库,只支持MyISAM引擎;

    2、如果有数据库或数据表使用了InnoDB引擎,恢复的时候,必须连同MySQL数据库目录下的ibdata1文件一起拷贝过来。

    解决办法:

    1、停止MySQL服务

    service mysqld stop

    2、找之前的备份数据库文件

    cd /home/mysql_bak/mysql/ #进入MySQL备份目录

    ibdata1 #需要此文件

    3、拷贝ibdata1文件到数据库相应目录

    cp /home/mysql_bak/mysql/ibdata1 /usr/local/mysql/data/ibdata1 #拷贝文件到现在的数据库目录

    chown mysql.mysql /usr/local/mysql/data/ibdata1 #设置权限位mysql用户和用户组

    rm /usr/local/mysql/data/ib_logfile0 #删除现有日志文件,否则启动MySQL失败

    rm /usr/local/mysql/data/ib_logfile1 #删除现有日志文件,否则启动MySQL失败

    系统运维 www.osyunwei.com 温馨提醒:系统运维原创内容©版权所有,转载请注明出处及原文链接

    4、启动MySQL

    service mysqld start

    故障解决

    此时页面已正常打开。

    ibdata1作用:InnoDB引擎下的表数据文件。

    建议:数据库一定要做好备份,恢复数据最好使用.sql备份文件导入。

    至此,MySQL数据库InnoDB引擎下服务器断电数据恢复教程完成。

  • 相关阅读:
    Windows 7 任务计划程序
    '7z' 不是内部或外部命令,也不是可运行的程序
    [转]国外人气最旺的软件测试网站
    AutoIT查找文件内容并修改保存
    BUG 太少
    excel表格数据导入sqlserver数据库
    RoR常见问题
    [转]漫画:程序员的一生
    [转]RubyInstaller: Getting Started with Rails and SQLite3
    [转]C#多线程学习(一) 多线程的相关概念
  • 原文地址:https://www.cnblogs.com/wjoyxt/p/4809355.html
Copyright © 2011-2022 走看看