需求:

  在本地电脑上的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. [Solution] JZOJ-5818 做运动

    [Solution] JZOJ-5818 做运动 Time Limits:2000ms Memory Limits:524288KB Description 一天,Y 君在测量体重的时候惊讶的发现,由 ...

  2. 管道/FIFO

    管道: #include<stdio.h> #include<unistd.h> #include<stdlib.h> #include<string.h&g ...

  3. python+unittest 控制用例的执行顺序

    unittest的main()方法执行用例的顺序是按照测试类.测试方法的名字的ASCII顺序来执行测试方法.所以可能执行的顺序和你想要的顺序不一样,可能通过下面两种方法修改执行顺序 1. 通过Test ...

  4. Centos6.5---samba文件共享服务配置(一)

    Linux---------samba文件共享服务配置(一) samba是一个实现不同操作系统之间文件共享和打印机共享的一种SMB协议的免费软件. https://www.cnblogs.com/zo ...

  5. js怎么实现继承?

    3. js怎么实现继承? 1. 使用原型prototype 这个问题其实之前总结过了……但是面试时候有点忘……主要思想是记得的,但是不会写,还是基础太不牢靠,写的太少了.一开始因为不知道怎么能继承父类 ...

  6. ISG 2018 Web Writeup

    作者:agetflag 原文来自:ISG 2018 Web Writeup ISG 2018 Web Writeup CTF萌新,所以写的比较基础,请大佬们勿喷,比赛本身的Web题也不难 calc 首 ...

  7. 第45节:Java当中的变量,面向对象

    Java当中的变量 01 Java当中的实例变量和类变量 什么是实例变量和类变量呢? 实例变量为没有用static修饰符修饰的变量,而类变量为用static修饰符修饰的变量. public class ...

  8. 第38节:hashCode()与toString()与equals()函数的作用,内部类和匿名内部类

    hashCode()和toString() Hash算法是把任意长度的数据通过hash算法成为散列值 hashCode() public int hashCode(){ int result = 10 ...

  9. Python的基础语法(二)

    0. 前言 接着上一篇博客的内容,我将继续介绍Python相关的语法.部分篇章可能不只是简单的语法,但是对初学者很有帮助,也建议读懂. 1. 表达式 由数字.符号.括号.变量等组成的组合. 算术表达式 ...

  10. 在Java里>、>>、>>>的含义

    在java中: >表示大于,如:if(a>b)...结果是boolean类型 >>表示右移,如:int i=15; i>>2的结果是3,移出的部分将被抛弃. 转为二 ...