需求:

  在本地电脑上的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. POJ2947-Widget Factory

    工厂里每件期间的生产时间为3-9天,告诉你有N个器件和M个计划,每个计划都是说明生产1-N号器件的时间,最后问你每件器件的生产时间.或者多解或没有解. 例如样例 2 3 2 MON THU 1 2 3 ...

  2. Java工具eclipse控制台console输出乱码问题

    捣鼓了一下午,终于tm解决! 我的是Scanner读入,println打印乱码问题. 首先在cmd窗口运行java,是没有乱码问题的,这证明了在cmd窗口时Scanner输入的和println打印的编 ...

  3. java 的原码、补码、反码小总结

    先看一个代码吧: int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); 这个应该很熟悉吧,是 ja ...

  4. vue数据双向绑定

    Vue的双向绑定是通过数据劫持结合发布-订阅者模式实现的,即通过Object.defineProperty监听各个属性的setter,然后通知订阅者属性发生变化,触发相应的回调. 整个过程分为以下几步 ...

  5. 利用python完成大学刷课(从0到完成的思路)

    i春秋作家:tllm 原文来自:利用python完成大学刷课(从0到完成的思路) 最近刚刚开学,学校总是有很多让人无语的课要修,还不能不修.然后我想写一个自动修课的脚本.大佬们不要笑我 是边面向百度学 ...

  6. 一套高可用、易伸缩、高并发的IM群聊架构方案设计实践

    本文原题为“一套高可用群聊消息系统实现”,由作者“于雨氏”授权整理和发布,内容有些许改动,作者博客地址:alexstocks.github.io.应作者要求,如需转载,请联系作者获得授权. 一.引言 ...

  7. C#不同窗体间数据传递

    在做项目中经常会使用不同窗体之间的值,所以就有了传值的概念.最常见的是父子窗体之间的数据传递,比如登录ID,各个窗体都需要知道. 1.       如果很多窗体都需要用到某一窗体的东西,比如登录窗体记 ...

  8. [P5162] WD与积木

    每种堆法(理解成名次序列,举例3,3,8,2和7,7,100,2都对应2,2,1,3这个名次序列)等概率出现:题目中"两种堆法不同当且仅当某个积木在两种堆法中处于不同的层中"可见这 ...

  9. MapReduce的二次排序

    附录之前总结的一个例子: http://www.cnblogs.com/DreamDrive/p/7398455.html 另外两个有价值的博文: http://www.cnblogs.com/xux ...

  10. Java核心技术及面试指南 2.3.6 String相关的面试题答案

    2.3.6.1 String是最基本的数据类型吗?能不能被继承? String不能被继承,它是一个对象 2.3.6.2 String s = new String("xyz");创 ...