Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  mysqlimport — A Data Import Program

6.5.5 mysqlimport — 数据导入程序

客户端 mysqlimport 提供了命令行接口来 LOAD DATA SQL 语句。大多数 mysqlimport 选项直接对应 LOAD DATA 语法。请参阅 第 15.2.9 节,“LOAD DATA 语句”

使用以下方式调用 mysqlimport

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

对于命令行上指定的每个文本文件,mysqlimport 从文件名中删除任何扩展名,并使用结果来确定要将文件内容导入到的表的名称。例如,文件名为 patient.txtpatient.textpatient 都将被导入到名为 patient 的表中。

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

表 6.15 mysqlimport 选项

Option Name Description
--bind-address 使用指定的网络接口连接到 MySQL 服务器
--character-sets-dir 字符集目录的位置
--columns 该选项将以逗号分隔的列名列表作为其值
--compress 压缩客户端和服务器之间的所有信息
--compression-algorithms 服务器连接的允许压缩算法
--debug 写入调试日志
--debug-check 程序退出时打印调试信息
--debug-info 程序退出时打印调试信息、内存和 CPU 统计信息
--default-auth 身份验证插件使用
--default-character-set 指定默认字符集
--defaults-extra-file 除了通常的选项文件外,还读取命名的选项文件
--defaults-file 只读取命名的选项文件
--defaults-group-suffix 选项组后缀值
--delete 在导入文本文件之前清空表
--enable-cleartext-plugin 启用明文身份验证插件
--fields-enclosed-by 该选项与 LOAD DATA 语句的相应子句具有相同的含义
--fields-escaped-by 该选项与 LOAD DATA 语句的相应子句具有相同的含义
--fields-optionally-enclosed-by 该选项与 LOAD DATA 语句的相应子句具有相同的含义
--fields-terminated-by 该选项与LOAD DATA的相应子句具有相同的含义
--force 即使出现SQL错误,也继续执行
--get-server-public-key 从服务器请求RSA公钥
--help 显示帮助信息并退出
--host MySQL服务器所在的主机
--ignore 请参阅--replace选项的描述
--ignore-lines 忽略数据文件的前N行
--lines-terminated-by 该选项与LOAD DATA的相应子句具有相同的含义
--local 从客户端主机本地读取输入文件
--lock-tables 在处理任何文本文件之前锁定所有表以供写入
--login-path 从.mylogin.cnf中读取登录路径选项
--low-priority 使用LOW_PRIORITY加载表
--no-defaults 不读取任何选项文件
--no-login-paths 不从登录路径文件中读取登录路径
--password 连接服务器时使用的密码
--password1 连接服务器时使用的第一个多因素身份验证密码
--password2 连接服务器时使用的第二个多因素身份验证密码
--password3 连接服务器时使用的第三个多因素身份验证密码
--pipe 使用命名管道连接服务器(仅限Windows)
--plugin-dir 插件安装的目录
--port TCP/IP连接的端口号
--print-defaults 打印默认选项
--protocol 用于连接的传输协议
--replace --replace和--ignore选项控制唯一键值重复的输入行的处理
--server-public-key-path 包含RSA公钥的文件路径名
--shared-memory-base-name 共享内存名称(仅限Windows)
--silent 仅在出现错误时产生输出
--socket Unix套接字文件或Windows命名管道
--ssl-ca 包含受信任的SSL证书颁发机构的文件
--ssl-capath 包含受信任的SSL证书颁发机构证书文件的目录
--ssl-cert 包含X.509证书的文件
--ssl-cipher 连接加密的可接受密码
--ssl-crl 包含证书吊销列表的文件
--ssl-crlpath 包含证书吊销列表文件的目录
--ssl-fips-mode 是否在客户端启用 FIPS 模式
--ssl-key 包含 X.509 密钥的文件
--ssl-mode 到服务器的连接的所需安全状态
--ssl-session-data 包含 SSL 会话数据的文件
--ssl-session-data-continue-on-failed-reuse 是否在会话重用失败时建立连接
--tls-ciphersuites 加密连接的可接受 TLSv1.3 密码套件
--tls-sni-servername 客户端提供的服务器名称
--tls-version 加密连接的可接受 TLS 协议
--use-threads 并行文件加载的线程数
--user 连接到服务器时使用的 MySQL 用户名
--verbose 详细模式
--version 显示版本信息并退出
--zstd-compression-level 使用 zstd 压缩的连接的压缩级别

以下是一个示例会话,演示了 mysqlimport 的使用:

$> mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test
$> ed
a
100     Max Sydow
101     Count Dracula
.
w imptest.txt
32
q
$> 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
$> mysqlimport --local test imptest.txt
test.imptest: Records: 2  Deleted: 0  Skipped: 0  Warnings: 0
$> mysql -e 'SELECT * FROM imptest' test
+------+---------------+
| id   | n             |
+------+---------------+
|  100 | Max Sydow     |
|  101 | Count Dracula |
+------+---------------+