本文适用于,mysql无法启动,但数据文件未丢失的情况。

Mysql因意外情况,导致无法启动,数据库未做备份的情况下,如何将数据迁移至其他数据库中。

原数据库地址:192.168.1.100(以下简称A服务器)

新数据库地址:192.168.2.100(以下简称B服务器)

数据恢复流程:

  1. 进入A服务器,输入命令 cat /etc/my.cnf (如文件不在当前位置,可使用find / -name my.cnf  命令查询文件位置)

找到datadir 路径

  • 通过cd /www/server/data 命令,进入数据文件夹。

当前文件夹里面就是mysql中所有库的数据文件存放位置。

下面以bus文件夹中文件,演示具体如何恢复文件。

  • 进入B服务器,创建与A服务器bus库,用户名,密码相同的库。创建成功后,通过上面方法,进入数据文件目录,也会出现一个bus文件夹。

  • 停止B服务器mysql服务,将A服务器中bus文件夹中,除db.opt文件外的其他文件打包,发送至B服务器数据目录的bus文件夹中。解压。

  • 通过命令行,将/www/server/data/bus文件夹的所有者和组,更改成mysql

更改所有者

Chown -R mysql /www/server/data/bus

更改组

Chgrp -R mysql /www/server/data/bus

  • 更改成功后,启动B服务器数据库,进入数据库后,如提示error: 1146: Table doesn't exist,还需将A服务器,数据文件夹中ibdata1 文件,拷贝至B服务器相应位置,同时更改相应的所有者和组权限。

至此,数据文件恢复数据库工作完成,

注1:如未改动数据文件夹所有者和组,启动数据库后,进入bus库点击相应表名会出现 ERROR #1017 :Can't find file: '/xxx.frm' 错误或ERROR #1036 Table '表名' is read only

注2:如数据库较多,可能会发现,部分数据库文件中有.frm .MYD .MYI这三种文件,部分数据库中只有.frm文件,这是因为MySQL存储表的时候,使用的默认数据库存储引擎是InnoDB,而使用InnoDB存储引擎的时候,是不生成.MYD 和.MYI文件的。

Mysql无法启动情况下,如何恢复数据?的更多相关文章

  1. Oracle redo 日志损坏的几种情况下的恢复

    Oracle redo 日志损坏的几种情况下的恢复 第一:损坏的redo为非正在使用的redo log 1.归档模式,不是当前正在日志损坏,数据库打开模式. 模拟损坏:SQL> select * ...

  2. 【DATAGUARD】物理dg在主库丢失归档文件的情况下的恢复(七)

    [DATAGUARD]物理dg在主库丢失归档文件的情况下的恢复(七) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到 ...

  3. Oracle主库归档丢失,备库日志有gap,在不重建备库的情况下,恢复备库

    本文主要描述Oracle备库日志与主库日志之间有gap,切主库这部分gap的归档日志已经删除或丢失,如何在不重建备库的情况下,恢复备库. 欢迎转载,请注明作者.出处. 作者:张正 blog:http: ...

  4. 数据库表设计时一对一关系存在的必要性 数据库一对一、一对多、多对多设计 面试逻辑题3.31 sql server 查询某个表被哪些存储过程调用 DataTable根据字段去重 .Net Core Cors中间件解析 分析MySQL中哪些情况下数据库索引会失效

    数据库表设计时一对一关系存在的必要性 2017年07月24日 10:01:07 阅读数:694 在表设计过程中,我无意中觉得一对一关系觉得好没道理,直接放到一张表中不就可以了吗?真是说,网上信息什么都 ...

  5. Oracle 无备份情况下的恢复--控制文件/数据文件

    13.3无备份恢复控制文件 没有备份恢复控制文件其实就是在nomount状态,create control创建一个新的控制文件. dba必须知道4个信息才能正确的创建:数据库名.在线日志路径及其大小. ...

  6. Oracle 无备份情况下的恢复--临时文件/在线重做日志/ORA-00205

    13.5 恢复临时文件 临时文件没有也不应该备份.通过V$TEMPFILE可以找到所有的临时文件. 此类文件的损坏会造成需要使用临时表空间的命令执行失败,不至于造成实例崩溃或session中断.由于临 ...

  7. mysql学习(4)-mysqldump备份和恢复数据

    背景 最近在公司做数据迁移方面的工作,使用mysql数据库在测试环境模拟数据迁移,在迁移测试的过程中需要做数据备份和恢复 mysql数据备份和恢复比较简单,可以选择mysqldump工具,这里简单提一 ...

  8. Mysql高并发情况下的解决方案(转)

    查询了下Mysql 关于高并发的处理的资料,在这记录一下. 高并发大多的瓶颈在后台数据逻辑处理,在存储,mysql的正常的优化方案如下: 1.代码中sql语句优化 2.数据库字段优化,索引优化 3.加 ...

  9. CentOS6.5_x64安装MySQL-5.6.17,在已经启动MySQL服务的情况下,出现密码报错ERROR 2002 (HY000)

    1.修改MySQL配置文件,使MySQL登陆时跳过密码验证 skip-grant-tables 2.重启MySQL服务 service mysql restart 3.进入MySQL,修改user表中 ...

随机推荐

  1. SLAM方向国内有哪些优秀公司?

    计算机视觉life为读者整理了国内几十家涉及SLAM的优秀公司,涵盖自动驾驶.仓储机器人.服务机器人.无人机.AR.芯片相机等领域. 一 自动/辅助驾驶: 1.百度: 主要产品:自动驾驶软件 百度智能 ...

  2. kubernetes实战之部署一个接近生产环境的consul集群

    系列目录 前面我们介绍了如何在windows单机以及如何基于docker部署consul集群,看起来也不是很复杂,然而如果想要把consul部署到kubernetes集群中并充分利用kubernete ...

  3. 5分钟快速部署DataDraw数字绘

    经常有小伙伴问,有没有一款好用又免费的画图软件,画画流程图.UML.思维导图?今天就介绍一款开源的在线画图软件,满足各方面人的需求. DataDraw数字绘是一个在线线框图.流程图.网络图.组织结构图 ...

  4. C++11/14笔记

    目录 语言层面 模板表达式中的空格 nullptr和std::nullptr_t 自动推导类型----auto 一致性初始化----Uniform Initialization 初始化列表(initi ...

  5. [译]试用新的System.Text.Json API

    译注 可能有的小伙伴已经知道了,在.NET Core 3.0中微软加入了对JSON的内置支持. 一直以来.NET开发者们已经习惯使用Json.NET这个强大的库来处理JSON. 那么.NET为什么要增 ...

  6. [记录]Nginx配置实现&&和||的方法实例

    Nginx配置文件中if的&&和||的实现(nginx不支持&&和||的写法) 1.与(&&)的写法: set $condiction '';if ($ ...

  7. Spring mybatis 之-ssm框架环境搭建(方案一)

    SSM框架- S-Spring  S-Spring mvc M-mybatis  就需要以下几个配置文件,放在resources文件夹下面: db.properties 放的是数据库连接池的配置文件, ...

  8. Unity3D 学习笔记一

    安装Unity3D 环境 1 进入Unity3D 官网 http://unity3d.com/cn/ 找到获取 Unity 进去之后点击下载 2.下载完成之后进行安装,由于新的版本采用在线安装方式所以 ...

  9. PTA 打印沙漏

    https://pintia.cn/problem-sets/17/problems/260 #include <bits/stdc++.h> using namespace std; i ...

  10. 成为高级 React 开发你需要知道的知识点

    简评:除了常见的 HOC 和 RenderProp 技巧,作者介绍了 7 个有用的知识点. 使用 Fragment 而不是 div 很多时候我们想要处理多个 component,但是 render 只 ...