mysql数据库数据迁移方法

说明:这里不讨论命令行还有通过navicat等工具的做法,这里只讨论在mysql坏掉(不能启动)的情况下,怎么办。

方法:

a) 先来看mysql数据库文件的情况:

mysql坏掉了,不管是linux还是windows版本,mysql有个数据库文件目录data目录,如下图:

(注意linux版上面的是my.cnf差不多)

然后data目录里面类似这样:

通过观察可以知道里面一个个文件夹如world这些就是一个个database。进入这个文件就是类似下面两种情况:

情况一:               
or                情况二: 

可以猜想就是一个个表文件。

b) 再来看下如何迁移这些数据库。

对于上面的情况一,即数据库文件是.frm、.MYD、.MYI的情况,这种情况超级方便,直接将这个database文件夹拷贝到要迁移到的目标数据库目录即可。

对于上面的情况二,即数据库文件是.frm、.idb的情况,则要这样处理:

i) 将database文件夹拷贝到一个可用的mysql数据库目录(以下简称中间数据库)。

ii) 停止中间数据库,备份中间数据库的ibdata1文件,然后替换ibdata1文件。

iii) 中间数据库的my.ini末尾添加一行innodb_force_recovery=4。

iv) 启动中间数据库,通过工具或命令行的方式,将中间数据库的目标database迁移到目标数据库。

v) 中间数据库回退处理(即注释掉innodb_force_recovery=4,回退ibdata1文件那些,不影响中间数据库)。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-07 12:03:01

mysql数据库数据迁移方法的相关文章

mysql 数据库数据迁移 The user specified as a definer ('root'@'%') does not exist 解决方法

从一个数据库数据迁移到本地localhost 程序在调用到数据库的视图时报错,直接在数据库中打开视图时也报错,类似: mysql 1449 : The user specified as a definer ('montor'@'%') does not exist 经查,是权限问题,解决办法: 运行:grant all privileges on *.* to [email protected]"%" identified by "."; 之后打开视图时便不会报错

MySQL数据库数据迁移:从一个服务器到另一个服务器

需要两个服务器数据库版本相同才可迁移 1:单个或多个数据库 mysqldump -h远程ip -u用户 -p密码 -P3306 --default-character-set=utf8 --databases 单个或多个数据库名称空格分开 | mysql -h127.0.0.1 -uroot -p -P3306 执行后输入本地数据库密码即可 2:所有数据库 mysqldump -h远程ip -u用户 -p密码 -P3306 --default-character-set=utf8 --all-d

Django项目的创建与介绍.应用的创建与介绍.启动项目.pycharm创建启动项目.生命周期.三件套.静态文件.请求及数据.配置Mysql完成数据迁移.单表ORM记录的增删改查

一.Django项目的创建与介绍 ''' 安装Django #在cmd中输入pip3 #出现这个错误Fatal error in launcher: Unable to create process using '"' #可以直接用 python3 -m pip 代替 pip3 #这个问题是pip3 版本过低直接在cmd中执行 python3 -m pip install --upgrade pip 更新pip3 # 在指定解释器环境下安装django 1.11.9 # 在真实python3环境

Spring、Ibatis结合MySQL数据库的使用方法

Ibatis是MyBatis的前身,它是一个开源的持久层框架.它的核心是SqlMap--将实体Bean跟关系数据库进行映射,将业务代码和SQL语句的书写进行分开.Ibatis是"半自动化"的ORM持久层框架.这里的"半自动化"是相对Hibernate等提供了全面的数据库封装机制的"全自动化"ORM实现而言的,"全自动"ORM实现了POJO与数据库表字段之间的映射并且实现了SQL的自动生成和执行.而Ibatis的着力点,则在于P

solr 4.8+mysql数据库数据导入 + mmseg4j中文全文索引 配置笔记

1.如何将solr部署,请参考之前的文章 2.按上述配置好后,在solr_home文件夹中,将包含collection1文件夹,这就是solr的一个实例.下面我们来看看collection1中的文件内容. collection1中包含conf和data两个子文件夹.data中包含tlog和index(如果没有也没关系,稍后再solr建立索引时,将会被创建).tlog是记录日志的文件夹,index是存放索引的文件夹.conf中包含lang文件夹和若干文件.lang文件夹中包含的是词库文件,但是so

Ibatis结合MySQL数据库的使用方法

Ibatis是MyBatis的前身,它是一个开源的持久层框架.它的核心是SqlMap--将实体Bean跟关系数据库进行映射,将业务代码和SQL语句的书写进行分开.Ibatis是"半自动化"的ORM持久层框架.这里的"半自动化"是相对Hibernate等提供了全面的数据库封装机制的"全自动化"ORM实现而言的,"全自动"ORM实现了POJO与数据库表字段之间的映射并且实现了SQL的自动生成和执行.而Ibatis的着力点,则在于P

mysql 数据库远程访问设置方法

摘自: http://www.iteye.com/topic/418151 mysql数据库远程访问设置方法 1.修改localhost更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%" mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql

MySQL数据库多种安装方法及企业级安装实践

本文来自老男孩老师第三本书籍著作<老男孩的MySQL私房菜>第三章内容分享! 3.1 MySQL数据库的安装方法及选择 在当今的互联网企业里,MySQL数据库大多运行在Linux系列操作系统上,当然,你也可以运行在Windows/Unix等商业操作系统上,本书主要以国内互联网公司应用最多的数据库服务操作系统--CentOS6最新版(6.8)x86_64 Linux系统为例进行讲解,使用其他系统的读者同样可以从本书受益! 即使是在CentOS 6 x86_64 Linux系统环境下,若应用场景不

mysql 数据库数据订正

mysql 数据库数据订正 http://blog.itpub.net/22664653/viewspace-717175/ 工作过程中时常遇到数据订正的需求,该操作本身不难.操作时要求能够保持回滚~对于能够满足回滚的要求,我通常执行备份表,然后执行变更!如果发送订正错误或者用户要求回滚的时候,就完全恢复整个表,这样做会有多余的操作,因为我们只要 实际上可以选择备份要进行更正的数据!比如如下需求: 将表resource中usage_type='unused' 并且 user_id=166 的记录