mysqlimport-数据导入程序

mysqlimport-数据导入程序

mysqlimport 客户端为 LOAD DATA 语句提供了一个命令行接口,它的部分选项对应了 LOAD DATA 语法的子句。

选项

帮助选项

  • –help, -?
    • 显示帮助信息
  • –version, -V
    • 显示版本信息并退出

连接选项

  • –bind-address=ip_address
    • 在具有多个网络接口的计算机上,使用此选项选择用于连接到 MySQL 服务器的接口
  • –default-auth=plugin
    • 客户端的默认身份认证插件
  • –enable-cleartext-plugin
    • 启用 mysql_clear_password 明文身份验证插件
  • –host=host_name, -h host_name
    • 主机名
  • –login-path=name
    • 从登录路径文件 .mylogin.cnf 中读取选项
  • –password[=password], -p[password]
    • 密码。选项和密码之间不能有空格。使用 –skip-password 跳过密码
  • –pipe, -W
    • 在 Windows 上,使用命名管道连接到服务器。
  • –plugin-dir=dir_name
    • 插件目录。如果 –default-auth 指定了插件但是找不到,可以指定此选项。
  • –port=port_num, -P port_num
    • TCP/IP 连接的端口
  • –protocol={TCP|SOCKET|PIPE|MEMORY}
    • 连接到服务端所用的传输协议
  • –server-public-key-path=file_name
    • PEM 格式的文​​件的路径名,其中包含服务器用于基于 RSA 密钥对的密码交换所需的公用密钥的客户端副本
    • 此选项适用于使用 sha256_password 或 caching_sha2_password 身份验证插件进行身份验证的客户端。
    • 如果给定了此选项,并指定了有效的公钥文件,则它优先于 –get-server-public-key。
  • –shared-memory-base-name=name
    • 在 Windows 上,共享内存名称,用于使用共享内存与本地服务器建立的连接。默认值为 MYSQL。
  • –socket=path, -S path
    • socket 路径
  • –ssl*
    • 以 ssl 开头的选项表示是否使用 SSL 连接,以及 SSL 密钥和证书的路径
  • –ssl-fips-mode={OFF|ON|STRICT}
    • 是否在客户端上启用 FIPS 模式
  • –tls-ciphersuites=ciphersuite_list
    • 使用 TLSv1.3 的加密连接的允许密码列表
  • –tls-version=protocol_list
    • 加密连接允许的 TLS 协议
  • –user=user_name, -u user_name
    • 用户
  • –zstd-compression-level=level
    • zstd 算法的压缩级别,允许的压缩级别是 1-22,默认是3
  • –compress, -C

    已过时,将来会删除。

    • 如果可能,压缩客户端和服务器之间发送的所有信息
  • –compression-algorithms=value
    • 用于连接到服务器的允许的压缩算法。默认未压缩
  • –get-server-public-key
    • 从服务端请求基于 RSA 密钥对的密码交换所需的公共密钥。 此选项适用于使用 caching_sha2_password 身份验证插件进行身份验证的客户端

国际化选项

  • –character-sets-dir=dir_name
    • 字符集的安装目录
  • –default-character-set=charset_name
    • 客户端默认字符集

调试选项

  • –debug[=debug_options], -# [debug_options]

    MySQL 的二进制发行版不是以此选项构建的。

    • 编写调试日志。 典型的 debug_options 字符串是 d:t:o,file_name。 默认值为 d:t:o,/tmp/mysql.trace。 仅当 MySQL 是使用 WITH_DEBUG 构建的时,此选项才可用
  • –debug-check

    MySQL 的二进制发行版不是以此选项构建的。

    • 程序退出时,打印一些调试信息。 仅当 MySQL 是使用 WITH_DEBUG 构建的时,此选项才可用。
  • –debug-info, -T

    MySQL 的二进制发行版不是以此选项构建的。

    • 程序退出时,打印调试信息以及内存和CPU使用情况统计信息。 仅当 MySQL 是使用 WITH_DEBUG 构建的时,此选项才可用。
  • –force, -f
    • 强制执行 (即使报错也执行)
  • –silent, -s
    • 安静模式,产生较少的输出。可以多次指定,以产生越来越少的输出。
    • 此选项导致非表格输出和特殊字符转义,可以使用 –raw 禁用字符转义。
  • –verbose, -v
    • 详细模式。产生有关程序功能的更多输出。可以多次指定此选项 (如 -v -v -v),以产生越来越多的输出。

配置文件选项

  • –defaults-extra-file=file_name
    • 额外的配置文件。在全局配置文件之后,用户配置文件之前会读取此文件。
  • –defaults-group-suffix=str
    • 选项组名称的后缀

      如果 –defaults-group-suffix=_other,mysql 也会读取 [client_other] 和 [mysql_other] 组。

  • –no-defaults

    • 不读取任何配置文件 (.mylogin.cnf 例外)
  • –print-defaults
    • 打印输出程序名称和所有读取的配置文件内容

文件加载选项

  • –delete, -D
    • 导入数据文件前清空表
  • –fields-terminated-by=…, –fields-enclosed-by=…, –fields-optionally-enclosed-by=…, –fields-escaped-by=…
    • 分隔符
  • –ignore-lines=N
    • 忽略数据文件的前 N 行
  • –lines-terminated-by=…
    • 行分隔符
  • –local, -L
    • 在客户端主机上本地读取输入数据文件
  • –lock-tables, -l
    • 处理数据文件前,锁表
  • –low-priority
    • 低优先级。加载表时使用 LOW_PRIORITY
    • 仅影响使用表级锁定的存储引擎。例如, MyISAM,MEMORY 和 MERGE
  • –ignore, -i
    • 导入时,忽略唯一键值的现有行
  • –replace, -r
    • 导入时,覆盖唯一键值的现有行
    • 如果不指定 –replace 或 –ignore,则遇到重复键时报错
  • –columns=column_list, -c column_list
    • 字段列表
  • –use-threads=N
    • 使用 N 个线程并行加载文件

配置

调用语法

mysqlimport [options] db_name textfile1 [textfile2 ...]
  • textfile
    • 文件名后缀没有实际意义。

      例如,patient.txt, patient.text 和 patient,都会导入到 patient 表中。

  • options

    • mysqlimport 的选项可以在配置文件的 [mysqlimport] 和 [client] 标签组中指定。

示例

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 |
+------+---------------+

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注