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

mysqldump命令中带有一个 --where/-w 参数,它用来设定数据导出的条件,使用方式和SQL查询命令中中的where基本上相同,命令格式如下:

导出单个表结构导出部分数据

  1. mysqldump -u用户名 -p密码 数据库名 表名 --where="筛选条件" > 导出文件路径
  2. mysqldump -h54.0.88.53 -uroot -ppassword chen canal_amt1 --where = sensorid=11 and fieldid=0 > /home/kang/Desktop/temp/test.sql
  3. mysqldump -uroot -p123456 kang organ --where parentId=1 > /home/kang/Desktop/temp/organ2.sql
  4. mysqldump -uroot -p123456 kang organ --where="parentId=1" > /home/kang/Desktop/temp/organ2.sql
  5. mysqldump -uroot -p123456 kang organ --where="1=1 limit 5"> /home/kang/Desktop/temp/organ2.sql
  6. mysqldump -uroot -p123456 kang organ --where="true limit 5"> /home/kang/Desktop/temp/organ2.sql

导出数据库所有表的前n条记录

  1. mysqldump -uroot -p123456 kang --where="1=1 limit 5"> /home/kang/Desktop/temp/organ2.sql

导出多个表加相同条件记录

  1. mysqldump -h54.0.88.53 -uroot -ppassword chen cust_tran_rank khflag credit_card cust_tran other_amt large_amt_detail large_amt large_avgrank --where="cust_no='%430102%' limit 100" >/home/labs/kang/custno.sql 

导入

  1. use database;
  2. source /home/kang/Desktop/temp/organ2.sql;

mysqldump可以包括其他参数:

  1. 备份数据库
  2. #mysqldump 数据库名 >数据库备份名
  3. #mysqldump -A -u用户名 -p密码 数据库名>数据库备份名
  4. #mysqldump -d -A --add-drop-table -uroot -p >xxx.sql
  5.  
  6. 1.导出结构不导出数据
  7. mysqldump -d 数据库名 -uroot -p > xxx.sql
  8. mysqldump -h localhost -uroot -p123456 -d database table > dump.sql
  9.  
  10. 2.导出数据不导出结构
  11. mysqldump -t 数据库名 -uroot -p > xxx.sql
  12.  
  13. 3.导出数据和表结构
  14. mysqldump 数据库名 -uroot -p > xxx.sql
  15. mysqldump -h localhost -uroot -p123456 database table > dump.sql

 为避免敏感信息,导入后将某一字段改变中间几位,如8-11位

 其他选项参数:

  1. --add-locks
  2. 在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。
  3. --add-drop-table
  4. 在每个create语句之前增加一个drop table
  5. --allow-keywords
  6. 允许创建是关键词的列名字。这由表名前缀于每个列名做到。
  7. -c, --complete-insert
  8. 使用完整的insert语句(用列名字)。
  9. -C, --compress
  10. 如果客户和服务器均支持压缩,压缩两者间所有的信息。
  11. --delayed
  12. INSERT DELAYED命令插入行。
  13. -e, --extended-insert
  14. 使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句)
  15. -#, --debug[=option_string]
  16. 跟踪程序的使用(为了调试)。
  17. --help
  18. 显示一条帮助消息并且退出。
  19. --fields-terminated-by=...
  20.  
  21. --fields-enclosed-by=...
  22.  
  23. --fields-optionally-enclosed-by=...
  24.  
  25. --fields-escaped-by=...
  26.  
  27. --fields-terminated-by=...
  28. 这些选择与-T选择一起使用,并且有相应的LOAD DATA INFILE子句相同的含义。
  29. LOAD DATA INFILE语法。
  30. -F, --flush-logs
  31. 在开始导出前,洗掉在MySQL服务器中的日志文件。
  32. -f, --force,
  33. 即使我们在一个表导出期间得到一个SQL错误,继续。
  34. -l, --lock-tables.
  35. 为开始导出锁定所有表。
  36. -t, --no-create-info
  37. 不写入表创建信息(CREATE TABLE语句)
  38. -d, --no-data
  39. 不写入表的任何行信息。表的结构的导出,这是很有用的!
  40. --opt
  41. 同--quick --add-drop-table --add-locks --extended-insert --lock-tables
  42. 为读入一个MySQL服务器的尽可能最快的导出。
  43. -pyour_pass, --password[=your_pass]
  44. 与服务器连接时使用的口令。如果你不指定“=your_pass”部分,mysqldump需要来自终端的口令。
  45. -P port_num, --port=port_num
  46. 与一台主机连接时使用的TCP/IP端口号。(这用于连接到localhost以外的主机,因为它使用 Unix套接字。)
  47. -q, --quick
  48. 不缓冲查询,直接导出至stdout;使用mysql_use_result()做它。
  49. -S /path/to/socket, --socket=/path/to/socket
  50. localhost连接时(它是缺省主机)使用的套接字文件。
  51. -T, --tab=path-to-some-directory
  52. 对于每个给定的表,创建一个table_name.sql文件,它包含SQL CREATE 命令,和一个table_name.txt文件,它包含数据。注意:这只有在mysqldump运行在mysqld守护进程运行的同一台机器上的时候才工作。.txt文件的格式根据--fields-xxx --lines--xxx选项来定。
  53. -O var=option, --set-variable var=option设置一个变量的值。可能的变量被列在下面。
  54. -v, --verbose
  55. 冗长模式。打印出程序所做的更多的信息。
  56. -w, --where='where-condition'
  57. 只导出被选择了的记录;注意引号是强制的!
  58. "--where=user='jimf'" "-wuserid>1" "-wuserid<1"

Hive导出数据

-e 表示后面直接接带双引号的sql语句,而-f是接一个文件,文件的内容为一个sql语句,如

  1. SELECT a.* FROM testhivedrivertable2 a
  2. 使用-e导出例子:
  3. hive -e SELECT a.* FROM testhivedrivertable2 a >> /usr/local/hive-0.9.0/examples/output/1.txt
  4.  
  5. 使用-f导出例子:
  6. hive -f /usr/local/hive-0.9.0/examples/sql.txt >> /usr/local/hive-0.9.0/examples/output/2.txt

导入:

  1. create table test_hbase(id int,name string) row format delimited fields terminated by ',' stored as textfile
  2. load data local inpath '/home/kang/hive/test_hbase.txt' overwrite into table test_hbase; 

 When I try to configure items in hadoop-evn.sh/hbase-env.sh( e.g. change JVM parameters, add jars to hadoop classpath), it seems that Ambari only exposes a small set of configuration items in web UI. Is it possible to manually configure hadoop-env.sh/hbase-env.sh in the master node and then use Ambari to distribute them to the whole cluster

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

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

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

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

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

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

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

  4. MySQL 导入导出数据

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

  5. docker mysql 导入导出数据

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

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

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

  7. MySQL导入导出数据和表结构 source和mysqldump

    MySQL导入数据的方式: 1.使用source /dir/test.sql导入数据进入数据库:查询数据库编码格式show variables like "%char%";设置编码 ...

  8. MySql导入导出数据方法

    导出全库备份到本地的目录 mysqldump -u$USER -p$PASSWD -h127.0.0.1 -P3306 --routines --default-character-set=utf8 ...

  9. mysql导入导出数据过大命令

    phpmyadmin 导入或者导出都是有限制的,当导入或者导出的数据会报错. 1.导入数据库 mysql -u root -p<备份文件的保存路径 eg: mysql -u root -p &l ...

随机推荐

  1. MS SQL 监控数据/日志文件增长

        前几天,在所有数据库服务器部署了监控磁盘空间的存储过程和作业后(MS SQL 监控磁盘空间告警),今天突然收到了两封告警邮件,好吧,存储规划是一方面,但是,是不是要分析一下是什么原因造成磁盘空 ...

  2. java获取昨天的日期

    Calendar   cal   =   Calendar.getInstance();  cal.add(Calendar.DATE,   -1);  String yesterday = new ...

  3. 【转】awk数组操作

    转自:http://blog.csdn.net/wangran51/article/details/9168361 用awk进行文本处理,少不了就是它的数组处理.那么awk数组有那些特点,一般常见运算 ...

  4. zabbix监控-自定义监控与报警(二)

    标签: linux 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 1.web界面操用(host groups) 1.1创建一个组名字为damo 1.2配置文件解 ...

  5. Java多线程优化方法及使用方式

    一.多线程介绍 在编程中,我们不可逃避的会遇到多线程的编程问题,因为在大多数的业务系统中需要并发处理,如果是在并发的场景中,多线程就非常重要了.另外,我们在面试的时候,面试官通常也会问到我们关于多线程 ...

  6. Centos7 动态创建文件系统

    linux 想要动态扩展文件系统,需要将磁盘做成LVM动态卷   以centos 7为例 挂载两块磁盘 vdb vdc     安装 ssm 管理磁盘工具   yum -y install syste ...

  7. java 如何将 word,excel,ppt如何转pdf--jacob

    问题:java 如果将 word,excel,ppt如何转pdf 我个人的观点:windows server下用 jacob; linux server下 用openoffice.   PS:1.本文 ...

  8. 《.NET 设计规范》第 4 章:类型设计规范

    第 4 章:类型设计规范 4.1 类型和命名空间 要用命名空间把类型组织成一个由相关的功能区所构成的层次结构中. 避免非常深的命名空间层次.因为用户需要经常回找,所以这样的层次浏览起来很困难. 避免有 ...

  9. rabbitMQ的安装和配置(一)

    erlang是一门面向并发的编程语言,流行的消息队列rabbitMQ是基于erlang环境运行的: 系统环境 操作系统:oracle-linux7.3 erlang版本:otp_src_20.0 下载 ...

  10. Installing VirtualBox

    The (VirtualBox) website has a lot of quality documentation including: End-user documentation Techni ...