mysql 通过拷贝数据文件的方式进行数据库迁移实例

mysql通过拷贝数据文件的方式进行数据库迁移

--环境windows

将源机器A数据库拷贝到目标机器B:

我先在目标机器B上安装MySQL,停止mysql服务,然后将源机器A的data下关于数据库的文件和ibdata1拷贝过去,其余不用拷贝。如图:

源机器A:

启动目标数据库服务net start mysql,即可查看到导过来的所有数据库了。

注意:ibdata1一定不要忘记拷贝,且要拷贝到准确的位置(如我目标机器的ibdata1在E:\MySQL Datafiles,不在data路径下,我就先备份下它的ibdata1,再拷贝到E:\MySQL Datafiles)否则查询拷贝过去的表会报错:

mysql> use platform;

Database changed

mysql> show tables;

+-----------------------+

| Tables_in_platform  |

+-----------------------+

| mobile_scanner    |

| sharer        |

| sharer_mobile_scanner |

| statistics      |

| test         |

+-----------------------+

5 rows in set (0.02 sec) 

mysql> desc test;

ERROR 1146 (42S02): Table 'platform.test'doesn't exist

在Linux下也是类似的方式,但要注意拷贝完文件后,记得改下data文件夹owner为mysql。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • MySQL数据库迁移data文件夹位置详细步骤

    由于yum安装mysql的时候,数据库的data目录默认是在/var/lib下,出于数据安全性的考虑需要把它挪到/data分区.步骤如下:一.关闭apache和mysql. 复制代码 代码如下: service httpd stopservice mysqld stop 二.将/var/lib下的mysql目录mv(移动)到data目录.为什么要用mv命令,而不用cp命令呢?应为linux文件系统特殊性,mv命令能保留文件的所有属性和权限,尤其是selinux属性.如果用cp命令,就需要回头再去

  • 从MySQL到Redis的简单数据库迁移方法

    从mysql搬一个大表到redis中,你会发现在提取.转换或是载入一行数据时,速度慢的让你难以忍受.这里我就要告诉一个让你解脱的小技巧.使用"管道输出"的方式把mysql命令行产生的内容直接传递给redis-cli,以绕过"中间件"的方式使两者在进行数据操作时达到最佳速度. 一个约八百万行数据的mysql表,原本导入到redis中需要90分钟,使用这个方法后,只需要两分钟.不管你信不信,反正我是信了. Mysql到Redis的数据协议 redis-cli命令行工具有

  • MySQL日期数据类型、时间类型使用总结

    MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型        存储空间       日期格式                 日期范围 ------------ ---------   --------------------- ----------------------------------------- datetime       8 bytes   YYYY-MM-DD HH:MM:SS   1000-01-01 00:00:00 ~ 9999-12-31

  • mysql安装图解 mysql图文安装教程(详细说明)

    MySQL5.0版本的安装图解教程是给新手学习的,当前mysql5.0.96是最新的稳定版本. mysql 下载地址 http://www.jb51.net/softs/2193.html 下面的是MySQL安装的图解,用的可执行文件安装的,详细说明了一下!打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行"setup.exe",出现如下界面 mysql安装图文教程1 mysql安装向导启动,按"Next"继续 mysql图文

  • 将 Ghost 从 SQLite3 数据库迁移到 MySQL 数据库

    下面我们就来说说如何从 SQLite 迁移到 MySQL . 准备 首先你要已经安装好 MySQL 数据库.如果你用的是 Ubuntu 系统,请参考这篇文章.其他系统请参考各自对应的文档. 导出当前数据 进入 http://your-domain.com/ghost/debug 页面: 点击蓝色的 EXPORT 按钮将当前数据库中的所有数据导出并下载到本地,默认文件名是 GhostData.json . 切换数据库配置 编辑 config.js 文件,在 production 配置段将数据库配置

  • mysql数据库迁移至Oracle数据库

    本文实例为大家分享了java获取不同路径的方法,供大家参考,具体内容如下 1.使用工具: (1) Navicat Premium (2) PL/SQL Developer 11.0 (3) Oracle SQL Developer 4.0.0.12.84(点击可进入下载页面) 特别说明:最初我用的一直是高版本的SQL Developer,但在数据库移植到大概两分钟的时候,总是报错,而错误信息又不明确.最后换成 Oracle SQL Developer 4.0.0.12.84,才把问题解决掉!如果

  • Mysql字符串截取函数SUBSTRING的用法说明

    感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my_content_t 2.从右开始截取字符串 right(str, length) 说明:right(被截取字段,截取长度) 例:select right(content,200

  • 超详细mysql left join,right join,inner join用法分析

    下面是例子分析表A记录如下: aID        aNum 1           a20050111 2           a20050112 3           a20050113 4           a20050114 5           a20050115 表B记录如下: bID        bName 1            2006032401 2           2006032402 3           2006032403 4           20

  • Can't connect to MySQL server on localhost (10061)解决方法

    首先检查MySQL 服务没有启动>如果没有启动,则要启动这个服务. 昨天,重起服务器后出现MySQL 'localhost' (10061)错误,开始以为是因为数据库链接打开过多,数据库资源耗尽的缘故,但是重启服务器以后,仍旧出现问题,于是在网上查找解决方法.大体如下: 解决办法: 第一步 删除c:\windows\下面的my.ini 第二步 打开c:\mysql\bin\winmysqladmin.exe 输入用户名 和密码 第三步 在dos下 输入 mysqld-nt -remove 删除服

  • mysql 通过拷贝数据文件的方式进行数据库迁移实例

    mysql通过拷贝数据文件的方式进行数据库迁移 --环境windows 将源机器A数据库拷贝到目标机器B: 我先在目标机器B上安装MySQL,停止mysql服务,然后将源机器A的data下关于数据库的文件和ibdata1拷贝过去,其余不用拷贝.如图: 源机器A: 启动目标数据库服务net start mysql,即可查看到导过来的所有数据库了. 注意:ibdata1一定不要忘记拷贝,且要拷贝到准确的位置(如我目标机器的ibdata1在E:\MySQL Datafiles,不在data路径下,我就

  • MySQL数据备份、还原、数据库迁移以及表的导出和导入

    目录 前言 一.数据备份 1.使用mysqldump命令备份 2.直接复制整个数据库目录 3.使用mysqlhotcopy工具快速备份 二.数据还原 1.使用mysql命令还原 2.直接复制到数据库目录 三.数据库迁移 1.相同版本的MySQL数据库之间的迁移 2.不同版本的MySQL数据库之间的迁移 四.表的导出和导入 1.用select…into outfile导出文本文件 2.用mysqldump命令导出文本文件 3.用mysql命令导出文本文件 4.用load data infile方式

  • 用SQL语句解决mysql导入大数据文件的问题

    对于经常使用MYSQL的人来说,phpmyadmin是一个必备的工具.这个工具非常强大,几乎可以完成所有的数据库操作,但是它也有一个弱点,对于往远程服务器上导入较大的数据文件的时候会速度奇慢,甚至出现长期没有响应的情况. 为什么会出现这样的情况呢?当我们选择一个sql数据文件并提交的时候,服务器首先要先把文件上传到服务器,然后才会执行导入代码把数据导入到数据库.我们知道phpmyadmin是通过web方式上传的数据文件,而web方式上传是很不稳定的,尤其是网速慢的时候,这就是为什么我们会有那么多

  • 直接拷贝数据文件实现Oracle数据迁移

    背景介绍 由于机房服务器变更,需要将 Oracle 迁移到一台新服务器上去. 以下是环境说明: 原服务器地址: 192.168.1.15 新服务器地址: 192.168.1.18 操作系统:都是 CentOS 6.5 数据库版本: 都是 11.2.0.1 新服务器上安装和配置 Oracle 192.168.1.18 在新服务器(192.168.1.18)上安装了Oracle,为了保险,主机名.数据库实例名.安装目录都和原数据库保持一致.具体安装方法可参考:centos 6.5下安装oracle

  • Mysql删除重复数据并且只保留一条(附实例!)

    (1)以这张表为例: CREATE TABLE `test` ( `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '注解id', `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名字', PRIMARY KEY (`id`) USING BTREE ) ENGI

  • mysql 直接拷贝data 目录下文件还原数据的实现

    mysql 拷贝data 目录下的文件还原数据 背景:MySQL的的崩溃无法启动,决定重新搭环境,但数据库测试数据忘记备份时,MySQL的的数据目录幸存 操作: 1,复制测试数据库的文件夹(包含.frm .ibd等文件) 2,重启mysql 通过Navicat查看数据库某张表,结果显示"表'xxx 不存在 " 3,各种谷歌,百度后发现innodb的表 直接复制文件是无法使用的,会提示表不存在,在复制的时候,应将数据目录下的ibdata1文件一并复制过去,并且删除ib_logfile0,

  • Docker搭建MySQL并挂载数据的全过程

    目录 一.Docker搭建MySQL并挂载数据 二.挂载是否生效 其他 总结 记录 Docker 搭建 MySQL 并挂载数据过程,搭建过程参考自 Docker Hub. 一.Docker搭建MySQL并挂载数据 1.首先安装好 Docker,不知道怎么安装的可以看下 CentOS7安装Docker初体验. 2.下载 MySQL5.7 镜像. docker pull mysql:5.7 3.创建容器并挂载数据. docker run -d --restart=always --name mysq

  • mysql实现将data文件直接导入数据库文件

    目录 mysql将data文件直接导入数据库文件 一.确定data目录在哪里(MySQL的数据存放路径) 二.拷贝数据库 三.还原数据库 四.测试 mysql文本文件导入到数据库 一.使用load data infile命令 二.使用mysqlimport命令 总结 mysql将data文件直接导入数据库文件 一.确定data目录在哪里(MySQL的数据存放路径) 1.默认路径: C:\ProgramData\MySQL\MySQL Server 5.6\data(注意:ProgramData文

  • CentOS6.7 mysql5.6.33修改数据文件位置的方法

    问题:mysql存放的数据文件,分区容量较小,目前已经满,导致mysql连接不上, 解决方案: 1.删除分区里一个不需要用的数据,如:日志文件等(解决不了根本问题) 2.对某个磁盘扩容 3.修改数据存储位置 修改数据存储位置步骤: 1.查看mysql存储目录 #安装目录 --basedir=/usr #数据存储位置 --datadir=/home/mysqlData/mysql #用户 --user=mysql #日志 --log-error=/home/mysqlData/mysql/loca

  • Mysql循环插入数据的实现

    目录 Mysql 循环插入数据 WHILE…DO方式 其他基本命令 Mysql 循环插入10000条数据 1.所以按自己想法,写个循环1W次随便插入数据测试 2.执行过程 Mysql 循环插入数据 说明:首先需要设置delimiter. delimiter的作用:告诉解释器,这段命令是否已经结束了,mysql是否可以执行了 默认情况下,delimiter是‘;’但是当我们编写procedure时,如果是默认设置,那么一遇到‘;’,mysql就要执行. WHILE…DO方式 /*循环插入*/ DE

随机推荐