1. 导出全库备份到本地的目录

    mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --lock-all-tables --add-drop-database -A > db.all.sql
    
  2. 导出指定库到本地的目录(例如mysql库)
    mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --databases mysql > db.sql
    
  3. 导出某个库的表到本地的目录(例如mysql库的user表)
    mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --tables mysql user> db.table.sql
    
  4. 导出指定库的表(仅数据)到本地的目录(例如mysql库的user表,带过滤条件)
    mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --no-create-db --no-create-info --tables mysql user --where="host='localhost'"> db.table.sql
    
  5. 导出某个库的所有表结构
    mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 --no-data --databases mysql > db.nodata.sql
    
  6. 导出某个查询sql的数据为txt格式文件到本地的目录(各数据值之间用"制表符"分隔)
    例如sql为'select user,host,password from mysql.user;'
    mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 --skip-column-names -B -e 'select user,host,password from mysql.user;' > mysql_user.txt
    
  7. 导出某个查询sql的数据为txt格式文件到MySQL服务器.
    登录MySQL,将默认的制表符换成逗号.(适应csv格式文件).
    指定的路径,mysql要有写的权限.最好用tmp目录,文件用完之后,再删除!
    SELECT user,host,password FROM mysql.user INTO OUTFILE '/tmp/mysql_user.csv' FIELDS TERMINATED BY ',';
    
    --------------------------------------------------------------------------------------
    方法2:
    select .... where ... into outfile "d:\date.txt";
    select .... where ...  into outfile "d:\date.xls" fields terminated by "," enclosed by "";  结果为字符串形式
    结果如下:
    
    
    select .... where ...  into outfile "d:\date.xls";   可以直接导出到表
    结果如下:
    -----------------------------------------------------------------------------------------
    
导入
  1. 恢复全库数据到MySQL,因为包含mysql库的权限表,导入完成需要执行FLUSH PRIVILEGES;命令

    第一种方法:
    mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 < db.all.sql 第二种方法:
    登录MySQL,执行source命令,后面的文件名要用绝对路径.
    ......
    mysql> source /tmp/db.all.sql; 常用方式
  2. 恢复某个库的数据(mysql库的user表)
    第一种方法:
    mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 mysql < db.table.sql 第二种方法:
    登录MySQL,执行source命令,后面的文件名要用绝对路径.
    mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8
    ......
    mysql> use mysql;
    mysql> source /tmp/db.table.sql;
  3. 恢复MySQL服务器上面的txt格式文件(需要FILE权限,各数据值之间用"制表符"分隔)
    mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8
    ......
    mysql> use mysql;
    mysql> LOAD DATA INFILE '/tmp/mysql_user.txt' INTO TABLE user ;
  4. 恢复MySQL服务器上面的csv格式文件(需要FILE权限,各数据值之间用"逗号"分隔)
    mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8
    ......
    mysql> use mysql;
    mysql> LOAD DATA INFILE '/tmp/mysql_user.csv' INTO TABLE user FIELDS TERMINATED BY ',';
  5. 恢复本地的txt或csv文件到MySQL
    mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8
    ......
    mysql> use mysql;
    # txt
    mysql> LOAD DATA LOCAL INFILE '/tmp/mysql_user.csv' INTO TABLE user;
    # csv
    mysql> LOAD DATA LOCAL INFILE '/tmp/mysql_user.csv' INTO TABLE user FIELDS TERMINATED BY ',';

注意事项

    1. 关于MySQL连接
      -u$USER 用户名
      -p$PASSWD 密码
      -h127.0.0.1 如果连接远程服务器,请用对应的主机名或者IP地址替换
      -P3306 端口
      --default-character-set=utf8 指定字符集
    2. 关于mysql参数
      --skip-column-names 不显示数据列的名字
      -B 以批处理的方式运行mysql程序.查询结果将显示为制表符间隔格式.
      -e 执行命令后,退出
    3. 关于mysqldump参数
      -A 全库备份
      --routines 备份存储过程和函数
      --default-character-set=utf8 设置字符集
      --lock-all-tables 全局一致性锁
      --add-drop-database 在每次执行建表语句之前,先执行DROP TABLE IF EXIST语句
      --no-create-db 不输出CREATE DATABASE语句
      --no-create-info 不输出CREATE TABLE语句
      --databases 将后面的参数都解析为库名
      --tables 第一个参数为库名 后续为表名
    4. 关于LOAD DATA语法
      如果LOAD DATA语句不带LOCAL关键字,就在MySQL的服务器上直接读取文件,且要具有FILE权限.
      如果带LOCAL关键字,就在客户端本地读取数据文件,通过网络传到MySQL.
      LOAD DATA语句,同样被记录到binlog,不过是内部的机制.

MySql导入导出数据方法的更多相关文章

  1. [转]mysql导入导出数据中文乱码解决方法小结

    本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 ...

  2. mysql导入导出数据中文乱码解决方法小结

    linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqld ...

  3. 解决mysql导入导出数据乱码问题

    最近在linux上面用mysqldump导出数据,放在windows系统中导入就会出现中文乱码,然后就会导致出现: Unknown MySQL server host和Can't connect to ...

  4. PLSQL导入/导出数据方法

    PLSQL导入/导出数据方法 PLSQL导入/导出数据方法 以前导数据库信息的时候,总是会先开启sql窗口,把自己手写的建表文件复制进去,然后再导入数据信息. 今天突然懒得去找以前的建表文件,而想用S ...

  5. mysql导入导出数据

    mysqldump是MySQL自带的导出数据工具,通常我们用它来导出MySQL中,但是有时候我们需要导出MySQL数据库中某个表的部分数据作为测试. mysqldump命令中带有一个 --where/ ...

  6. MySQL 导入导出数据

    导入数据 1. 使用 MySQl Workbench 界面操作 导入 csv JSON 格式文件 2 使用 load data 命令 load data 命令官网教程 https://dev.mysq ...

  7. docker mysql 导入导出数据

    导出数据 1.导出mysql单张表结构和数据: docker exec -it my-mysql mysqldump dbname -uroot -p123456 --tables tname > ...

  8. 加速 MySQL 导入导出的方法

    http://www.21andy.com/new/20100917/1952.html MySQL导出的SQL语句在导入时有可能会非常非常慢,在处理百万级数据的时候,可能导入要花几小时.在导出时合理 ...

  9. mysql导入导出数据,备份,恢复数据

    MYSQL 实现导入数据 .备份和恢复数据库 1.使用msql命令导入数据 # mysql -uroot -p 需要选择一个数据库 < runoob.sql #mysql -u username ...

随机推荐

  1. meta标签的name和http-equiv属性

    META标签是HTML语言HEAD区的一个辅助性标签,它位于HTML文档头部的<HEAD>标记和<TITLE>标记之间,它提供用户不可见的信息.META标签有两个重要的属性:H ...

  2. 第8天:CSS制作导航栏

    今天主要学习了网页导航栏的制作.注意:引入外部CSS样式时,如果使用background:url(../images/1.png),一定记得用..跳出当前文件夹,回到上级目录. 一.导航栏实现步骤: ...

  3. django服务器正常打开,本地localhost能连上,其他计算机却连不上

    最近在学习Django,在搭建好django并且启动服务器后,遇到了麻烦. 问题现象: django服务器正常打开,本地localhost能连上,其他计算机却连不上 问题原因(可能存在原因): 这里的 ...

  4. shell的编程结构体

    本文目录: 1.1 shell函数 1.2 条件结构:if 1.3 条件结构:case 1.4 条件结构:select 1.5 循环结构:for 1.6 循环结构:while 1.7 循环结构:unt ...

  5. PyQt4 初试牛刀一

    建立了一个MainWindow,创建最基本的菜单栏.状态栏.工具栏,并重新定义了"X"关闭的默认行为. # -*- coding: utf-8 -*- import sys fro ...

  6. 通俗语言解释内外网IP与端口映射

    IP:分为外网IP和内网IP 也就是我们说的外网IP属于实体IP 实体IP,它是独一无二的,在网络的世界里,每一部计算机的都有他的位置,一个 IP 就好似一个门牌!例如,你要去百度的网站的话,就要去『 ...

  7. linux source命令与export命令的区别

    shell与export命令 用户登录到Linux系统后,系统将启动一个用户shell.在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序.运行shell脚本程序 ...

  8. ReactNative环境搭建扩展篇——安装后报错解决方案

    之前一篇写了<逻辑性最强的React Native环境搭建与调试>说了RN的安装,今天在这里做一个复盘,让我们能够更直观更深入的了解React Native(以下简称RN),这一篇重点来说 ...

  9. 一个还算简单的微信消息SDK(基于.Net Standard 2.0)

    虽然微信公众号出现了好久,不过在SDK这件事情上感觉并没有多少人把它当成一个有技术含量的事情来做,很多SDK做的事情就是一个代码的堆叠,当然也可能写的好的并没有开源出来.所以在某个翻遍Github而无 ...

  10. 安装lvs过程

    linux我是最小化安装的mini,安装完成后搭建本地yum,首先安装Development Tools开发工具组 1)在各服务器上修改主机名: [root@LVS1 ~]# hostname LVS ...