+++++++++++++++++++++++++++++++++++++++++++++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的更多相关文章

  1. mysql 开发进阶篇系列 50 表的数据导入(load data infile,mysqlimport )

    一.概述 上篇讲到的表的数据导出(select .. into outfile 或者mysqldump),这篇继续讲表的数据导入,导入也同样有二个方法,分别是load data infile... 和 ...

  2. LOAD DATA INFILE Syntax--官方

    LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name' [REPLACE | IGNORE] INTO TABLE tbl_n ...

  3. MySQL 之 LOAD DATA INFILE 快速导入数据

    SELECT INTO OUTFILE > help select; Name: 'SELECT' Description: Syntax: SELECT [ALL | DISTINCT | D ...

  4. mysql 的load data infile

    LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中.如果指定LOCAL关键词,从客户主机读文件.如果LOCAL没指定,文件必须位于服务器上.(LOCAL在MySQL3.22. ...

  5. mysql load data infile的使用 和 SELECT into outfile备份数据库数据

    LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE t ...

  6. SQL基本语句(3) LOAD DATA INFILE

    使用LOAD语句批量录入数据 语法: LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name' [REPLACE | IGNOR ...

  7. LOAD DATA INFILE – performance case study

    转: http://venublog.com/2007/11/07/load-data-infile-performance/ I often noticed that people complain ...

  8. mysql导入数据load data infile用法

    mysql导入数据load data infile用法 基本语法: load data [low_priority] [local] infile 'file_name txt' [replace | ...

  9. 合理使用mysql中的load data infile导入数据

    基本语法: load data  [low_priority] [local] infile 'file_name txt' [replace | ignore]into table tbl_name ...

随机推荐

  1. Vue-cli3性能优化

    Vue-cli3.0的打包性能优化方案:https://juejin.im/post/5d42962be51d4561b84c00c3 提升90%加载速度——vuecli下的首屏性能优化:https: ...

  2. Cpython全局解释器锁原理剖析

    """In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple ...

  3. PYTHON 100days学习笔记006:函数和模块的使用

    目录 Day006:函数和模块的使用 1.函数的作用 2.定义函数 2.1 语法 2.2 实例 2.3 函数的调用 4.函数的参数 4.1 必须参数 4.2 关键字参数 4.3 默认参数 4.4 不定 ...

  4. Eclipse中 coverage as 测试代码覆盖率

    eclipse 版本: Version: 2019-06 (4.12.0)Build id: 20190614-1200 绿色:代码被执行过黄色:代码部分被执行过红色:代码没有被执行过 引用: htt ...

  5. 阿里云ECS云服务器CentOS部署个人网站

    ping了一下coding pages和阿里云服务器的速度,意外感觉coding的速度反而更快.不过为了折腾,还是把博客迁移到阿里云,跌跌撞撞遇到很多坑,大多是由于对指令不熟悉以及部分教程省略了部分步 ...

  6. 菜单中Clean和batch build的作用

    清除Build生成的中间文件,删除编译的文件 编译的不一样,有重新编译和普通编译,重新编译会删除以前生成的文件

  7. Elastic Search中mapping的问题

    Mapping在ES中是非常重要的一个概念.决定了一个index中的field使用什么数据格式存储,使用什么分词器解析,是否有子字段,是否需要copy to其他字段等.Mapping决定了index中 ...

  8. HTTP、HTTPS、WebSocket

    一 .HTTP 1.1 HTTP发展史 1.1.1 什么是HTTP 超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所 ...

  9. vue配置外放generate-asset-webpack-plugin

    解决方法:(共有2个方法) 1.借助插件  generate-asset-webpack-plugin .在webpack.prod.conf.js中去生成configServer.json文件,让其 ...

  10. element-ui table float类型数据排序失败

    背景:对于16.88这样的数据,点击表头排序无效,仍然是乱序 解决办法:自定义排序方法,:sortable="true" :sort-mothod="xxxx" ...