该mysqlimport的客户提供了一个命令行界面的 LOAD DATA INFILESQL语句。mysqlimport的大多数选项 直接对应于LOAD DATA INFILE语法的子句 。请参见第13.2.7节“LOAD DATA INFILE语法”。

像这样 调用mysqlimport:

shell> mysqlimport [options] db_name textfile1 [textfile2 ...]

对于在命令行上命名的每个文本文件, mysqlimport将从文件名剥离任何扩展名,并使用结果来确定导入文件内容的表的名称。例如,命名为patient.txt, patient.text和patient全部的文件将被导入到名为的表中patient。

mysqlimport支持以下选项,它们可以在命令行或 选项文件的组[mysqlimport]和[client]组中指定。有关MySQL程序使用的选项文件的信息,请参见第4.2.6节“使用选项文件”。

表4.12 mysqlimport选项

格式

描述

介绍

删除

--bind地址

使用指定的网络接口连接到MySQL服务器

 

 

- 列

该选项以逗号分隔的列名列表作为其值

 

 

- 压缩

压缩客户端和服务器之间发送的所有信息

 

 

--debug

编写调试日志

 

 

--debug检查

程序退出时打印调试信息

 

 

- 调试信息

打印程序退出时的调试信息,内存和CPU统计信息

 

 

--default-AUTH

身份验证插件使用

 

 

--default-字符集

指定默认字符集

 

 

--defaults-额外文件

除了通常的选项文件外,还可以读取已命名的选项

 

 

--defaults文件

只读取命名的选项文件

 

 

--defaults基团的后缀

选项组后缀值

 

 

- 删除

在导入文本文件之前清空表格

 

 

--enable-明文-插件

启用明文身份验证插件

 

 

--fields封闭逐

该选项与LOAD DATA INFILE的对应子句具有相同的含义

 

 

--fields转义,由

该选项与LOAD DATA INFILE的对应子句具有相同的含义

 

 

--fields-任选封闭逐

该选项与LOAD DATA INFILE的对应子句具有相同的含义

 

 

--fields封端逐

该选项与LOAD DATA INFILE的对应子句具有相同的含义

 

 

- 力

即使发生SQL错误也继续

 

 

--get-服务器的公钥

从服务器请求RSA公钥

8.0.3

 

- 帮帮我

显示帮助信息并退出

 

 

- 主办

连接到给定主机上的MySQL服务器

 

 

- 忽视

请参阅--replace选项的说明

 

 

- 忽略线

忽略数据文件的前N行

 

 

--lines封端逐

该选项与LOAD DATA INFILE的对应子句具有相同的含义

 

 

- 本地

从客户端主机本地读取输入文件

 

 

--lock桌

在处理任何文本文件之前锁定所有表格进行写入

 

 

--login路径

阅读.mylogin.cnf中的登录路径选项

 

 

- 低优先级

加载表格时使用LOW_PRIORITY。

 

 

--no-默认

不读取任何选项文件

 

 

- 密码

连接到服务器时使用的密码

 

 

- 管

在Windows上,使用命名管道连接到服务器

 

 

--plugin-DIR

安装插件的目录

 

 

- 港口

用于连接的TCP / IP端口号

 

 

--print-默认

打印默认选项

 

 

- 协议

使用连接协议

 

 

- 更换

--replace和--ignore选项控制对唯一键值上的现有行进行复制的输入行的处理

 

 

--secure-auth的

不要以旧(4.1以前)格式向服务器发送密码

 

8.0.3

--server-公钥路径

包含RSA公钥的文件的路径名称

8.0.4

 

--shared存储器碱基名

用于共享内存连接的共享内存的名称

 

 

- 无声

仅当发生错误时才生成输出

 

 

- 插座

用于连接到localhost,要使用的Unix套接字文件

 

 

--ssl-CA

包含可信SSL证书颁发机构列表的文件

 

 

--ssl-capath

包含可信SSL证书颁发机构证书文件的目录

 

 

--ssl证书

包含X509证书的文件

 

 

--ssl-密码

允许连接加密的密码列表

 

 

--ssl-CRL

包含证书吊销列表的文件

 

 

--ssl-crlpath

包含证书撤销列表文件的目录

 

 

--ssl键

包含X509密钥的文件

 

 

--ssl模式

连接到服务器的安全状态

 

 

--tls版本

允许加密连接的协议

 

 

--use线程

并行文件加载的线程数

 

 

- 用户

连接到服务器时使用的MySQL用户名

 

 

--verbose

详细模式

 

 

- 版

显示版本信息并退出

 

 

  • --help, -?显示帮助信息并退出。
  • --bind-address=ip_address在具有多个网络接口的计算机上,使用此选项选择用于连接到MySQL服务器的接口。
  • --character-sets-dir=dir_name安装字符集的目录。请参见 第10.14节“字符集配置”。
  • --columns=column_list, -c column_list该选项以逗号分隔的列名列表作为其值。列名的顺序指示如何将数据文件列与表列匹配。
  • --compress, -C压缩客户端和服务器之间发送的所有信息(如果两者均支持压缩)。
  • --debug[=debug_options], -# [debug_options]编写一个调试日志。一个典型的 debug_options字符串是 。默认是。 d:t:o,file_named:t:o
  • --debug-check程序退出时打印一些调试信息。
  • --debug-info在程序退出时打印调试信息和内存以及CPU使用情况统计信息。
  • --default-character-set=charset_name使用charset_name作为默认字符集。请参见第10.14节“字符集配置”。
  • --default-auth=plugin关于使用客户端身份验证插件的提示。请参见第6.3.10节“可插入认证”。
  • --defaults-extra-file=file_name在全局选项文件之后读取此选项文件,但在用户选项文件之前(在Unix上)。如果文件不存在或无法访问,则会发生错误。 file_name如果作为相对路径名而非完整路径名给出,则相对于当前目录进行解释。
  • --defaults-file=file_name只使用给定的选项文件。如果文件不存在或无法访问,则会发生错误。 file_name如果作为相对路径名而非完整路径名给出,则相对于当前目录进行解释。例外:即使 --defaults-file读取客户端程序.mylogin.cnf。
  • --defaults-group-suffix=str不仅要阅读常用选项组,还要阅读具有常用名称和后缀的组 str。例如, mysqlimport通常读取 [client]和 [mysqlimport]组。如果 --defaults-group-suffix=_other 给出选项,mysqlimport也会读取[client_other]和 [mysqlimport_other]组。
  • --delete, -D在导入文本文件之前清空表格。
  • --enable-cleartext-plugin启用mysql_clear_password明文身份验证插件。(请参见 第6.5.1.4节“客户端明文可插入验证”。)
  • --fields-terminated-by=..., --fields-enclosed-by=..., --fields-optionally-enclosed-by=..., --fields-escaped-by=...这些选项的含义与相应的条款相同LOAD DATA INFILE。请参见第13.2.7节“LOAD DATA INFILE语法”。
  • --force, -f忽略错误。例如,如果文本文件的表不存在,请继续处理任何剩余的文件。不 存在时,如果表不存在--force,则 退出mysqlimport。
  • --get-server-public-key从服务器请求基于RSA密钥对的密码交换所需的公钥。此选项适用于使用caching_sha2_password身份验证插件进行身份验证的客户端 。对于那个插件,除非请求,服务器不会发送公钥。对于不使用该插件进行身份验证的帐户,此选项将被忽略。如果不使用基于RSA的密码交换,它也会被忽略,例如当客户端使用安全连接连接到服务器时。如果 给出并指定了有效的公钥文件,则优先于 。 --server-public-key-path=file_name--get-server-public-key有关该caching_sha2_password插件的信息 ,请参见 第6.5.1.3节“缓存SHA-2可插入验证”。
  • --host=host_name, -h host_name将数据导入给定主机上的MySQL服务器。默认主机是localhost。
  • --ignore, -i请参阅该--replace选项的说明 。
  • --ignore-lines=N忽略N数据文件的第一行。
  • --lines-terminated-by=...该选项的含义与相应的子句相同LOAD DATA INFILE。例如,要导入具有以回车/换行对结尾的行的Windows文件,请使用 --lines-terminated-by="\r\n"。(根据命令解释器的转义约定,您可能必须加倍反斜杠。)请参见 第13.2.7节“LOAD DATA INFILE语法”。
  • --local, -L默认情况下,服务器主机上的服务器读取文件。使用此选项,mysqlimport会在客户端主机上本地读取输入文件。启用本地数据加载还需要服务器允许它; 请参见 第6.1.6节“LOAD DATA LOCAL的安全问题”
  • --lock-tables, -l在处理任何文本文件之前 锁定所有表格进行写入。这可确保所有表在服务器上同步。
  • --login-path=name从.mylogin.cnf登录路径文件中的指定登录路径读取选项 。阿 “ 登录路径 ”是含有指定要连接到哪个MySQL服务器和选项哪个帐户作为认证选项组。要创建或修改登录路径文件,请使用 mysql_config_editor实用程序。请参见 第4.6.7节“ mysql_config_editor - MySQL配置实用程序”。
  • --low-priorityLOW_PRIORITY加载表格时 使用。这会影响只使用表级锁只存储引擎(例如MyISAM, MEMORY和MERGE)。
  • --no-defaults不要阅读任何选项文件。如果由于从选项文件读取未知选项而导致程序启动失败, --no-defaults可用于防止读取它们。例外是.mylogin.cnf 在任何情况下读取文件(如果存在)。这允许以比使用命令行更安全的方式来指定密码,即使在--no-defaults使用时 也是如此。(.mylogin.cnf由mysql_config_editor实用程序创建, 请参见 第4.6.7节“ mysql_config_editor - MySQL配置实用程序”。)
  • --password[=password], -p[password]连接到服务器时使用的密码。如果使用short option form(-p), 则在选项和密码之间不能有空格。如果您省略命令行上password的--passwordor -p选项后面的 值 ,mysqlimport会提示输入一个值。在命令行中指定密码应被视为不安全。请参见 第6.1.2.1节“密码安全的最终用户指南”。您可以使用选项文件来避免在命令行上输入密码。
  • --pipe, -W在Windows上,使用命名管道连接到服务器。该选项仅适用于服务器支持命名管道连接的情况。
  • --plugin-dir=dir_name在其中查找插件的目录。如果该--default-auth选项用于指定身份验证插件,但 mysqlimport未找到该选项,请指定此选项 。请参见 第6.3.10节“可插入认证”。
  • --port=port_num, -P port_num用于连接的TCP / IP端口号。
  • --print-defaults打印程序名称以及从选项文件中获取的所有选项。
  • --protocol={TCP|SOCKET|PIPE|MEMORY}用于连接到服务器的连接协议。当其他连接参数通常会导致使用的协议不是您想要的协议时,这很有用。有关允许值的详细信息,请参见 第4.2.2节“连接到MySQL服务器”。
  • --replace, -r在--replace和 --ignore选项控制复制唯一键值的现有行输入行处理。如果指定 --replace,则新行将替换具有相同唯一键值的现有行。如果指定--ignore,则跳过在唯一键值上复制现有行的输入行。如果您未指定任一选项,则在找到重复键值时会发生错误,并忽略文本文件的其余部分。
  • --secure-auth这个选项在MySQL 8.0.3中被删除。
  • --server-public-key-path=file_name包含客户端副本的文件的路径名,该副本是服务器为基于RSA密钥对的密码交换所需的。该文件必须采用PEM格式。该选项适用于使用sha256_password或caching_sha2_password身份验证插件进行身份验证的客户端 。对于未使用其中一个插件进行身份验证的帐户,此选项将被忽略。如果不使用基于RSA的密码交换,它也会被忽略,例如当客户端使用安全连接连接到服务器时。如果 给出并指定了有效的公钥文件,则优先于 。 --server-public-key-path=file_name--get-server-public-key因为sha256_password,只有在使用OpenSSL构建MySQL时,此选项才适用。有关这些sha256_password 和caching_sha2_password插件的信息,请参见 第6.5.1.2节“SHA-256可插入验证”和 第6.5.1.3节“缓存SHA-2可插入验证”。
  • --shared-memory-base-name=name在Windows上,使用共享内存名称,用于使用共享内存连接到本地服务器。默认值是MYSQL。共享内存名称区分大小写。必须启动服务器, --shared-memory并启用共享内存连接选项。
  • --silent, -s静音模式。仅当发生错误时才生成输出。
  • --socket=path, -S path连接到localhost要使用的Unix套接字文件,或在Windows上使用命名管道的名称。
  • --ssl*开头的选项 --ssl指定是否使用SSL连接到服务器,并指出在哪里可以找到SSL密钥和证书。请参见 第6.4.2节“加密连接的命令选项”。
  • --tls-version=protocol_list客户端允许的加密连接协议。该值是一个包含一个或多个协议名称的逗号分隔列表。可以为这个选项命名的协议取决于用于编译MySQL的SSL库。有关详细信息,请参见 第6.4.6节“加密连接协议和密码”。
  • --user=user_name, -u user_name连接到服务器时使用的MySQL用户名。
  • --use-threads=N使用N 线程并行加载文件。
  • --verbose, -v详细模式。打印关于该程序的更多信息。
  • --version, -V显示版本信息并退出。

以下是演示mysqlimport使用的示例会话 :学什么技术网翻译提供

shell> mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test
shell> ed
a
100     Max Sydow
101     Count Dracula
.
w imptest.txt
32
q
shell> od -c imptest.txt
0000000   1   0   0  \t   M   a   x       S   y   d   o   w  \n   1   0
0000020   1  \t   C   o   u   n   t       D   r   a   c   u   l   a  \n
0000040
shell> mysqlimport --local test imptest.txt
test.imptest: Records: 2  Deleted: 0  Skipped: 0  Warnings: 0
shell> mysql -e 'SELECT * FROM imptest' test
+------+---------------+
| id   | n             |
+------+---------------+
|  100 | Max Sydow     |
|  101 | Count Dracula |
+------+---------------+