MySQL数据库的库表迁移
最近在研究MySQL数据库的库表迁移问题,主要分为两种情况,一种情况是迁移数据库的表的全部字段,另一种是迁移数据库的表的部分字段。前一种情况是直接使用mysqldump命令来实现,后一种情况则是采用数据写入本地再导入MySQL的思路。显然前一种情况也可以采用后一种情况的思路实现,但使用mysqldump命令的效率明显要高。
一、MySQL迁移数据库库表的全部字段
需求:A库的a表迁移到B库,A库和B库已经存在。
思路:使用mysqldump命令将A库的信息写入sql脚本,然后向B库中执行该脚本。
使用mysqldump命令只需两个步骤就能完成库表的迁移。
(1) 将A库的建表和插入数据的操作写入sql脚本。
mysqldump -uroot -p A > A_dump.sql
可以查看一下导出的sql脚本内容:

(2) 将导出的sql脚本应用到B库。
mysql -uroot -p B < A_dump.sql
查看B库中的数据,发现数据已迁移过来。
二、MySQL跨机器迁移数据库库表的部分字段
需求:将A库所在机器的a表的部分字段数据迁移到B库所在机器的b表,比如表a(id,name,age,address),表b(id,name,age)。
思路:从A库的a表中读出B库b表所需字段的数据,写入到本地文件,然后导入到B库b表。
(1) 库A,表a,所在机器10.20.14.47
a表中内容

将库A中表a的字段数据导出,加载到本地文件中,执行如下命令发现会报错。
SELECT id,name,age from a INTO OUTFILE '/home/kwang/field.csv' FIELDS TERMINATED BY ',';
报错信息:
ERROR (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
报错的原因时由于MySQL服务具有文件保护机制,不予许用户导出文件到任意目录。
查阅相关资料后,发现MySQL有一个安全文件夹,且允许用户导出数据到该文件夹中,通过“select @@GLOBAL.secure_file_priv; ”命令可以查看该文件夹的路径。

于是,通过以下命令可以导出数据到本地文件:
SELECT id,name,age from a INTO OUTFILE '/var/lib/mysql-files/field.csv' FIELDS TERMINATED BY ',';
查看导出文件field.csv的内容,即库A中a表的部分字段数据。

(2) 库B,表b,所在机器10.20.14.43
将A库所在机器导出的文件拷贝到本地
scp root@10.20.14.47:/var/lib/mysql-files/field.csv /root
进入mysql,将csv文件里的数据加载到库B的表b中。
load data local infile '/home/kwang/field.csv' into table b fields terminated by ',';
查看库B的b表,所需字段数据已成功迁移过来。

【参考链接】
[1] pursuer.chen, MySQL mysqldump数据导出详解.
MySQL数据库的库表迁移的更多相关文章
- Mysql数据库 的库表简易操作
一. 库的操作 1.创建数据库 创建数据库: create database 库名 charset utf8; charset uft8 可选项 1.2 数据库命名规范: 可以由字母.数字.下划 ...
- MySQL数据库的库表基本操作
一.库操作 1.创建业务数据库 DDL 数据库命名规则:区分大小写.唯一性.不能使用关键字如 create select.不能单独使用数字 语法:CREATE DATABASE 数据库名; CREAT ...
- php面试专题---mysql数据库分库分表
php面试专题---mysql数据库分库分表 一.总结 一句话总结: 通过数据切分技术将一个大的MySQLServer切分成多个小的MySQLServer,既攻克了写入性能瓶颈问题,同一时候也再一次提 ...
- mysql管理 ------查看 MySQL 数据库中每个表占用的空间大小
如果想知道MySQL数据库中每个表占用的空间.表记录的行数的话,可以打开MySQL的 information_schema 数据库.在该库中有一个 TABLES 表,这个表主要字段分别是: TABLE ...
- 点评阿里JAVA手册之MySQL数据库 (建表规约、索引规约、SQL语句、ORM映射)
下载原版阿里JAVA开发手册 [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文内容:MySQL数据库 (建表规约.索引规约.SQL语句.ORM映 ...
- MySQL数据库查看数据表占用空间大小和记录数
MySQL数据库中每个表占用的空间.表记录的行数的话,可以打开MySQL的 information_schema 数据库.在该库中有一个 TABLES 表,这个表主要字段分别是: TABLE_SCHE ...
- Atitit. 数据库-----catalog与schema的设计区别以及在实际中使用 获取数据库所有库表 java jdbc php c#.Net
Atitit. 数据库-----catalog与schema的设计区别以及在实际中使用 获取数据库所有库表 java jdbc php c#.Net 1. -catalog与schema的设计区别1 ...
- 4.mysql数据库创建,表中创建模具模板脚本,mysql_SQL99标准连接查询(恩,外部连接,全外连接,交叉连接)
mysql数据库创建,表创建模等模板脚本 -- 用root用户登录系统,运行脚本 -- 创建数据库 create database mydb61 character set utf8 ; -- ...
- 利用navcat为mysql数据库单独的表赋权限及表结构同步
为mysql数据库单独的表赋权限 场景:考勤系统需要拿OA数据库td_oa中的flow_run和flow_run_data表中的数据做考勤计算 考勤系统只需要读取这两张表的数据,所以只需要开通一个单独 ...
随机推荐
- HashMap源码分析四
HashMap源码在jdk1.8中,改动挺大,里面内容已经变的非常复杂了,后面另起博客分析.jdk1.8以前,HashMap一直是数组加链表的数据结构,在数组的某个下标位置,有多次碰撞,则使用 ...
- MyBatis-13-缓存
13.缓存(了解) 13.1.简介 查询 : 连接数据库,耗资源! 一次查询的结果,给他暂存在一个可以直接取到的地方!--->内存 : 缓存 我们再次查询相同数据的时候,直接走缓存,就不用走数据 ...
- 我对line-height及vertical-align的一点理解
张鑫旭老师在文章<我对CSS vertical-align的一些理解与认识(一)>中提到: vertical-align:middle属性的表现与否,仅仅与其父标签有关,至于我们通常看到的 ...
- Elasticsearch: Index template
Index template定义在创建新index时可以自动应用的settings和mappings. Elasticsearch根据与index名称匹配的index模式将模板应用于新索引.这个对于我 ...
- vue04
目录 Vue项目环境 项目的创建 vue根据配置重新构建依赖 pycharm管理vue项目 vue项目目录结构分析 vue项目生命周期 views文件夹内的.vue文件介绍 配置自定义全局样式 导航栏 ...
- CodeForces 839D - Winter is here | Codeforces Round #428 (Div. 2)
赛后听 Forever97 讲的思路,强的一匹- - /* CodeForces 839D - Winter is here [ 数论,容斥 ] | Codeforces Round #428 (Di ...
- HDU 6078 - Wavel Sequence | 2017 Multi-University Training Contest 4
/* HDU 6078 - Wavel Sequence [ DP ] | 2017 Multi-University Training Contest 4 题意: 给定 a[N], b[M] 要求满 ...
- 【Android-开发环境】 eclipse开发环境搭建
1.下载安装JDK jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm ...
- 关于.ssh出错,无法从远程git仓库拉代码
背景:从windows开发环境改到ubuntu,将windows下生成的.ssh文件拷贝到ubuntu下,以clone远程git仓库代码 错误:sign_and_send_pubkey: signin ...
- Monkey实战测试步骤
1,adb devices 确保设备在线 2,adb shell pm list packages 查看包名 3,adb shell monkey -p com.xzck.wangcai --ig ...