需求:

  在本地电脑上的mysql中创建了一个数据库,并且在该数据库中创建了很多表,表中数据比较多;

  现在想换一台电脑,但是又不想重新建数据库、建表、造数据。

解决方案:

  利用mysql提供的命令,在本地将所需数据和表导出成.sql文件;

  然后在另外一台电脑中使用mysql提供的命令,将导出的.sql文件导入,这样就能生成和原来电脑中一模一样的数据库、表和数据了。


一、准备工作:

进入到安装目录mysql/sbin下,启动mysql服务:

二、将数据导出成.sql文件

0、在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看:
mysqldump
1、最常用的:
【windows下:】mysqldump -uroot -p123456 databasefoo table1 table2 > e:\foo.sql
【linux下:】 mysqldump -uroot -p123456 databasefoo table1 table2 > e:/foo.sql
这样就可以将数据库databasefoo的表table1,table2以sql形式导入foo.sql中;
其中-uroot参数表示访问数据库的用户名是root,-p参数表示访问数据库的密码是123456;
C:\Users\jack> mysqldump -uroot -pmysql sva_rec date_drv > e:\date_drv.sql
2、导出整个数据库
【格式:】mysqldump -u用户名 -p密码 数据库名 > 导出的文件名
【windows下:】C:\Users\jack> mysqldump -uroot -p123456 sva_rec > e:\sva_rec.sql
【linux下: 在安装目录mysql/bin下输入命令】mysqldump -uroot -p123456 sva_rec > /home/hadoop/test/sva_rec.sql
3、导出一个表,包括表结构和数据
【格式:】mysqldump -u用户名 -p 密码 数据库名 表名> 导出的文件名
【windows下:】C:\Users\jack> mysqldump -uroot -pmysql sva_rec date_rec_drv> e:\date_rec_drv.sql
【linux下: 在安装目录mysql/bin下输入命令】 mysqldump -uroot -pmysql sva_rec date_rec_drv> /home/hadoop/test/date_rec_drv.sql
4、导出一个数据库结构
【windows下:】C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec > e:\sva_rec.sql
【linux下: 在安装目录mysql/bin下输入命令】 mysqldump -uroot -pmysql -d sva_rec > /home/hadoop/test/sva_rec.sql
5、导出一个表,只有表结构
【格式:】mysqldump -u用户名 -p 密码 -d数据库名 表名> 导出的文件名
【windows下:】C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec date_rec_drv> e:\date_rec_drv.sql
【linux下: 在安装目录mysql/bin下输入命令】 mysqldump -uroot -pmysql -d sva_rec date_rec_drv> /home/hadoop/test/date_rec_drv.sql

三、将.sql文件导入

第一种导入方式:(推荐)
(linux下和Windows 下语法是一样的,只是路劲的书写方式不同而已)
1、创建一个空数据库
2、进入MySQL安装目录bin下
3、导入命令 mysql -uroot –p密码 数据库名 < 要导入的表数据(d:\bbs.sql)(将选定的表导入到指定的数据库)
mysql -uroot –p123456 databaseName < d:\dump.sql (window)
mysql -uroot –p123456 databaseName < /dump.sql (Linux)
4、导入命令: mysql -u用户名 -p密码 < 要导入的数据库数据
mysql -uroot -p123456 < d:\dump.sql (window)
mysql -uroot -p123456 < /dump.sql (linux)
(将备份出来的数据库导入,这里没有写数据库名,也可以写但要求是要写同样的名称)

第二种导入方式:(常用source 命令)
需要先进入mysql数据库控制台:
  如mysql -uroot -p123456
  mysql>use 数据库
  然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
  (window)  mysql>source d:wcnc_db.sql
       (linux)      mysql>source /data/wcnc_db.sql

mysql数据库中的数据导入与导出的更多相关文章

  1. 使用sqoop将MySQL数据库中的数据导入Hbase

    使用sqoop将MySQL数据库中的数据导入Hbase 前提:安装好 sqoop.hbase. 下载jbdc驱动:mysql-connector-java-5.1.10.jar 将 mysql-con ...

  2. python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图

    python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 # coding=utf-8 from openpyxl import load_workbook ...

  3. mysql数据库的批量数据导入与导出,性能提升。

    少量数据批量导入:1. 先从数据库把唯一键的值查询出来,放在列表2. 将导入的数据遍历取出,看是否存在列表中,若不在,说明数据库没有.3. 定义两个空列表,一个做为插入数据,一个做为更新数据4. 步骤 ...

  4. 如何将数据库中的数据导入到Solr中

    要使用solr实现网站中商品搜索,需要将mysql数据库中数据在solr中创建索引. 1.需要在solr的schema.xml文件定义要存储的商品Field. 商品表中的字段为: 配置内容是: < ...

  5. Sqoop(三)将关系型数据库中的数据导入到HDFS(包括hive,hbase中)

    一.说明: 将关系型数据库中的数据导入到 HDFS(包括 Hive, HBase) 中,如果导入的是 Hive,那么当 Hive 中没有对应表时,则自动创建. 二.操作 1.创建一张跟mysql中的i ...

  6. phpexcel的写操作将数据库中的数据导入到excel中

    这个版本据说是可以支持excel2007,但是我使用2007编辑的xlsx是无法获得该库的支持.于是乎我就将它转化为2003.感觉支持地很好. 下面介绍一下具体的使用: require_once('. ...

  7. mysql数据库中插入数据INSERT INTO SET的优势

    往mysql数据库中插入数据.以前常用 INSERT INTO 表名 (列名1,列名2…) VALUES(列值1,列值2); 如果在PHP程序中,就会写成如下示例(往商品库里增加商品) $sql = ...

  8. JDBC Java 程序从 MySQL 数据库中读取数据,并备份到 xml 文档中

    MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 相关内容:JDBC Java 程序从 MySQL 数据库中读取数据,并 ...

  9. 使用grabit分析mysql数据库中的数据血缘关系

    使用grabit分析mysql数据库中的数据血缘关系 Grabit 是一个辅助工具,用于从数据库.GitHub 等修订系统.bitbucket 和文件系统等各种来源收集 SQL 脚本和存储过程,然后将 ...

随机推荐

  1. idea与maven整合

    1.官网下载 apache-maven-3.3.3 2.解压安装后配置conf-settings文件 a. <localRepository>E:\JAVA\maven_cangku< ...

  2. OpenCV3.30 画图函数

    画图函数(Draw Functions)都放在imgpro. 例如C++中用: #include <opencv2\imgproc.hpp>

  3. python猜数字GUI版本V0.1

    非常简单的GUI版猜数字游戏,后面有时间好好研究下 # -*- coding: utf-8 -*-"""Created on Mon Jan 28 16:30:17 20 ...

  4. wechat.php

    <?php/***Author @zhongbo * 步骤说明* 1,微信服务器返回一个会话ID* 2.通过会话ID获得二维码* 3.轮询手机端是否已经扫描二维码并确认在Web端登录* 4.访问 ...

  5. [转] 如何用kaldi训练好的模型做特定任务的在线识别

    转自:http://blog.csdn.net/inger_h/article/details/52789339 在已经训练好模型的情况下,需要针对一个新任务做在线识别应该怎么做呢? 一种情况是,用已 ...

  6. C++ 知识回顾总结 -- queue 队列容器

    一.说明 queue 是一种队列适配器,专门设计用于FIFO中操作(先进先出),元素从一端插入容器并从另一端提取. 相关API地址为:http://www.cplusplus.com/referenc ...

  7. Day2:html和css

    Day2:html和css 表格是一种常用的标签,表格结构,做到能够合并单元格. 表格的属性: 属性名 说明 border 设置表格的边框 cellspacing 设置单元格与单元格边框之间的空白间距 ...

  8. Python开发爆破字典

    这里只是分享一下Python如何生成爆破字典 关于爆破工具编写我会在下一篇提到 其实有了爆破字典的话,直接使用Burp,Hydra等一些工具就可以做爆破了! Burp的使用在我以前的博客中有写过,至于 ...

  9. The SDK 'Microsoft.NET.Sdk' specified could not be found.

    有一台电脑用 VS Code 开发 .NET Core 项目时,每次打开文件夹都有一个错误(标题),定位在 C# 插件,鼠标放在代码上没有智能提醒,输入代码时没有补全提示,重装 VS Code 和所有 ...

  10. C语言数组一种巧妙的使用方式

    作为计算机一种比较古老的语言,它并没有随着岁月老去,而是仍旧在整个领域发挥出耀眼的光芒,就像写作,有很多光芒万丈的句子值得我们去珍藏,今天就遇到了个比较巧妙的数组使用方法,做个记录,以供后续使用. # ...