LOAD DATA INFILE & mysqlimport
+++++++++++++++++++++++++++++++++++++++++++++mysqlimport+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
其实如果用mysqlimport是mysql数据库提供的一个命令行程序,从本质来说j load data infile的命令接口,而且大多数的选项都和load data infile语法相同。
shell>mysqlimport [option] db_name testfile1 [testfile2 ...]
select into outfile 注意保持时以表名加.txt,以便恢复。
和load data infile不同的是,mysqlimport可以用来导入多张表,并且通过--user-thread参数并发地导入不同的文件,这里的并发指并发导入多个文件,而不是指mysqlimport可以并发地导入一个文件。
[root@zstedu andyxi3306]# mv 1.txt sbtest2.txt
[root@zstedu andyxi3306]# mv 2.txt sbtest1.txt
[root@zstedu andyxi3306]# mysqlimport -h127.0.0.1 -uroot -p --use-threads=2 andyxi3306 /tmp/andyxi3306/sbtest1.txt /tmp/andyxi3306/sbtest2.txt
Enter password:
andyxi3306.sbtest1: Records: 500000 Deleted: 0 Skipped: 0 Warnings: 0
andyxi3306.sbtest2: Records: 500000 Deleted: 0 Skipped: 0 Warnings: 0
*************************** 1. row ***************************
Id: 29
User: root
Host: localhost:38566
db: andyxi3306
Command: Sleep
Time: 130
State:
Info: NULL
*************************** 2. row ***************************
Id: 37
User: root
Host: localhost:38582
db: NULL
Command: Query
Time: 0
State: starting
Info: show processlist
*************************** 3. row ***************************
Id: 41
User: root
Host: localhost:38590
db: andyxi3306
Command: Query
Time: 15
State: executing
Info: LOAD DATA INFILE '/tmp/andyxi3306/sbtest2.txt' INTO TABLE `sbtest2` IGNORE 0 LINES
*************************** 4. row ***************************
Id: 42
User: root
Host: localhost:38592
db: andyxi3306
Command: Query
Time: 15
State: executing
Info: LOAD DATA INFILE '/tmp/andyxi3306/sbtest1.txt' INTO TABLE `sbtest1` IGNORE 0 LINES
4 rows in set (0.00 sec)
mysqlimport恢复时其实用的还是load data infile
++++++++++++++++++++++++++++++++++++++++load data infile+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
如果通过mysqldump加参数--tab=path,或者通过select ... into outfile导出的数据需要恢复,此时可以通过load data infile来进行导入。
语法:
root@127.0.0.1:3306 [andyxi3306]>help load data
Name: 'LOAD DATA'
Description:
Syntax:
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[PARTITION (partition_name [, partition_name] ...)]
[CHARACTER SET charset_name]
[{FIELDS | COLUMNS}
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char']
]
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number {LINES | ROWS}]
[(col_name_or_user_var
[, col_name_or_user_var] ...)]
[SET col_name={expr | DEFAULT},
[, col_name={expr | DEFAULT}] ...]
要对服务器文件使用load data infile,必须有file权。其中对于导入格式的选项和select into outfile命令完全一样。
ignore number lines选项可以忽略导入的前几行。
测试:
root@127.0.0.1:3306 [andyxi3306]>select * into outfile '/tmp/andyxi3306/2.txt' from sbtest1;
Query OK, 500000 rows affected (2.66 sec)
root@127.0.0.1:3306 [andyxi3306]>delete from sbtest1;
Query OK,
500000 rows affected (37.19 sec)
root@127.0.0.1:3306 [andyxi3306]>select * from sbtest1;
ERROR 2013 (HY000): Lost connection to MySQL server during query
root@127.0.0.1:3306 [andyxi3306]>select * from sbtest1;
ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 29 Current database: andyxi3306
Empty set (0.21 sec)
root@127.0.0.1:3306 [andyxi3306]>load data infile '/tmp/andyxi3306/2.txt' into table sbtest1;
Query OK, 500000 rows affected (43.99 sec) Records: 500000 Deleted: 0 Skipped: 0 Warnings: 0
root@127.0.0.1:3306 [andyxi3306]>select * from sbtest1 limit 2\G;
*************************** 1. row ***************************
id: 1 k: 252272
c: 76529735171-62619715576-43660157506-14122022461-23499333486-12530790621-96252745722-53101978020-30217711642-99182948190 pad: 78049175839-40449686376-46985343292-10855530210-03527816365
*************************** 2. row ***************************
id: 2 k: 251402
c: 35080843840-11823110763-17669742564-34386700636-31442953158-68823209002-35432290765-12996120436-32406040794-96855478492 pad: 47097503610-43096903937-36148507150-61897060196-12382094341 2 rows in set (0.00 sec)
数据恢复成功
LOAD DATA INFILE & mysqlimport的更多相关文章
- mysql 开发进阶篇系列 50 表的数据导入(load data infile,mysqlimport )
一.概述 上篇讲到的表的数据导出(select .. into outfile 或者mysqldump),这篇继续讲表的数据导入,导入也同样有二个方法,分别是load data infile... 和 ...
- LOAD DATA INFILE Syntax--官方
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name' [REPLACE | IGNORE] INTO TABLE tbl_n ...
- MySQL 之 LOAD DATA INFILE 快速导入数据
SELECT INTO OUTFILE > help select; Name: 'SELECT' Description: Syntax: SELECT [ALL | DISTINCT | D ...
- mysql 的load data infile
LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中.如果指定LOCAL关键词,从客户主机读文件.如果LOCAL没指定,文件必须位于服务器上.(LOCAL在MySQL3.22. ...
- mysql load data infile的使用 和 SELECT into outfile备份数据库数据
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE t ...
- SQL基本语句(3) LOAD DATA INFILE
使用LOAD语句批量录入数据 语法: LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name' [REPLACE | IGNOR ...
- LOAD DATA INFILE – performance case study
转: http://venublog.com/2007/11/07/load-data-infile-performance/ I often noticed that people complain ...
- mysql导入数据load data infile用法
mysql导入数据load data infile用法 基本语法: load data [low_priority] [local] infile 'file_name txt' [replace | ...
- 合理使用mysql中的load data infile导入数据
基本语法: load data [low_priority] [local] infile 'file_name txt' [replace | ignore]into table tbl_name ...
随机推荐
- HDFS之JAVAAPI
JAVAAPI 上传小文件 代码
- django中的Form和ModelForm中的问题
django的Form组件中,如果字段中包含choices参数,请使用两种方式实现数据源实时更新 方法一:重写构造方法,在构造方法中重新去获取值 class UserForm(forms.Form): ...
- ASP.NET Core中使用Dapper
⒈添加 NuGet 包 Install-Package Dapper ⒉封装数据库类型 using System; using System.Collections.Generic; using Sy ...
- 第一次入坑docker
直接进入主题 1.首先获取git clone项目 2.创建镜像:docker build -t="docker" .(注意千万不要忘了.) 3.列出镜像:docker images ...
- paramiko模块(远程操作服务器)
paramiko模块(远程操作服务器) django+paramkio实现远程某些服务器执行命令+上传文件 用于帮助开发者通过代码远程连接服务器,并对服务器进行操作. pip3 install par ...
- SSD目标检测实战(TF项目)——人脸检测2
数据转化为VOC格式: 一.我们先看 VOC格式的数据是什么??? Annotations:存放xml 包括 文件夹信息 图片名称. 图片尺寸信息. 图片中object的信息. JPEGImage ...
- luogu P2765 魔术球问题 (最小路径覆盖)
大意:给定n根柱子, 依次放入1,2,3,...的球, 同一根柱子相邻两个球和为完全平方数, 求最多放多少个球. 对和为平方数的点连边, 就相当于求DAG上最小路径覆盖. #include <i ...
- MySQL 存储引擎的类型以及选择
针对MySQL,数据最终以什么样的形式保存?以及数据保存在硬盘的什么位置? 1.MySQL的存储引擎 MySQL属于数据管理系统(DBMS),其中包括数据库,负责存储数据:还有数据库访问管理的接口系统 ...
- JavaScript设计模式(策略模式)
策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换.将不变的部分和变化的部分隔开是每个设计模式的主题,策略模式也不例外,策略模式的目的就是将算法的使用与算法的实现分离开来 ...
- Autofac 组件、服务、自动装配
一.组件 创建出来的对象需要从组件中来获取,组件的创建有如下4种(延续第一篇的Demo,仅仅变动所贴出的代码)方式: 1.类型创建RegisterType AutoFac能够通过反射检查一个类型,选择 ...