---
title: "OBClient 命令行选项参考 - 命令行客户端 V2.2.13 | OceanBase 文档中心"
description: "OBClient 命令行选项参考 本文档提供 OBClient 命令行客户端所有选项的完整参考。 选项列表 OBClient 支持以下选项： -?, --help 显示帮助信息并退出。 -I, --help -? 的同义词。 --abort-source-on-error 在出现错误时中止 &#x27;source filen…"
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*1DGSQqsgFKcAAAAARrAAAAgAeiGDAQ/original) 命令行客户端V 2.2.13

# OBClient 命令行选项参考

更新时间：2026-06-30 18:11:26

[编辑](https://github.com/oceanbase/obclient/edit/V2.2.13/zh-CN/300.command-line-options/200.command-line-options-reference.md)  

本文档提供 OBClient 命令行客户端所有选项的完整参考。

## 选项列表

OBClient 支持以下选项：

### -?, --help

显示帮助信息并退出。

### -I, --help

`-?` 的同义词。

### --abort-source-on-error

在出现错误时中止 'source filename' 操作。

### --auto-rehash

启用自动重新哈希。此选项默认开启，可启用数据库、表和列名补全。使用 `--disable-auto-rehash`、`--no-auto-rehash` 或 `skip-auto-rehash` 来禁用重新哈希。禁用重新哈希会使 OBClient 启动更快，但如果您想使用名称补全，则必须发出 rehash 命令。要补全名称，请输入第一部分并按 Tab。如果名称明确，OBClient 会补全它。否则，您可以再次按 Tab 查看以您到目前为止输入的内容开头的可能名称。如果没有默认数据库，则不会发生补全。

### -A, --no-auto-rehash

不自动重新哈希。必须使用 'rehash' 来获取表和字段补全。这使 OBClient 启动更快，并在重新连接时禁用重新哈希。

### --auto-vertical-output

如果结果比终端宽度更宽，则自动切换到垂直输出模式。

### -B, --batch

使用制表符作为列分隔符打印结果，每行在新行上。使用此选项时，OBClient 不使用历史文件。批处理模式导致非表格输出格式和特殊字符的转义。可以通过使用原始模式禁用转义；请参阅 `--raw` 选项的描述。（启用 `--silent`。）

### --binary-mode

默认情况下，不允许 ASCII '\0'，并且 `\r\n` 被转换为 `\n`。此开关关闭这两个功能，并且在非交互模式下（对于通过管道传输到 obclient 或使用 'source' 命令加载的输入），还关闭除 `\C` 和 `DELIMITER` 之外的所有客户端命令的解析。这在处理可能包含 blob 的 mysqlbinlog 输出时是必需的。

### --character-sets-dir=name

字符集文件的目录。

### --column-names

在结果中写入列名。（默认为 **ON**；使用 `--skip-column-names` 禁用。）

### --column-type-info

显示列类型信息。

### -c, --comments

保留注释。将注释发送到服务器。默认是 `--skip-comments`（丢弃注释），使用 `--comments` 启用。

### -C, --compress

如果客户端和服务器都支持压缩，则压缩客户端和服务器之间发送的所有信息。

### --connect-expired-password

通知服务器此客户端已准备好处理过期密码沙箱模式，即使指定了 `--batch`。

### --connect-timeout=num

连接超时前的秒数。默认为 **0**。

### -D, --database=name

要使用的数据库。

### -``[options], --debug[=options]

在调试版本上，写入调试日志。典型的 `debug_options` 字符串是 `d:t:o,file_name`。默认值是 `d:t:o,/tmp/mysql.trace`。

### --debug-check

退出时检查内存和打开文件的使用情况。

### -T, --debug-info

退出时打印一些调试信息。

### --default-auth=plugin

要使用的默认身份验证客户端插件。

### --default-character-set=name

设置默认字符集。当操作系统使用 utf8 或其他多字节字符集时，可能会出现一个常见问题，即 OBClient 的输出格式不正确，这是因为 OBClient 客户端默认使用 latin1 字符集。通常可以通过使用此选项强制客户端使用系统字符集来解决此类问题。如果设置为 `auto`，则从客户端环境（Unix 上的 `LC_CTYPE`）获取字符集。

### --defaults-extra-file=file

在读取全局文件后读取此文件。必须作为第一个选项给出。

### --defaults-file=file

仅从给定文件读取默认选项。必须作为第一个选项给出。

### --defaults-group-suffix=suffix

除了给定的组之外，还读取具有此后缀的组。

### --delimiter=name

要使用的分隔符。默认是分号（`;`）。

### --enable-cleartext-plugin

已废弃的选项。仅用于 MySQL 兼容性。

### --error-sql

在脚本批量执行、`source` 多语句等场景下，当 SQL 报错时是否在输出中附带**邻近 SQL 上下文**，便于对照脚本定位问题。取值 `xxx`、`top0`、`topN` 等说明与完整示例见专篇：[**`--error-sql` 选项（脚本报错上下文）**](https://www.oceanbase.com/docs/common-obclient-doc-cn-1000000006361908)。

### -e, --execute=name

执行语句并退出。禁用 `--force` 和历史文件。默认输出格式类似于使用 `--batch` 产生的格式。

### -f, --force

即使遇到 SQL 错误也继续。将 `--abort-source-on-error` 设置为 **0**。

### -h, --host=host

连接到主机。

#### 注意

在 Unix 系统上，`localhost` 和 `127.0.0.1` 的连接行为不同。使用 `localhost` 时，OBClient 会尝试使用 Unix 套接字连接；使用 `127.0.0.1` 时，OBClient 会使用 TCP/IP 连接。如果您的服务器只监听 TCP/IP 端口，请使用 `127.0.0.1` 或实际的 IP 地址。

### -H, --html

生成 HTML 输出。

### -U, --i-am-a-dummy

选项 `--safe-updates`、`-U` 的同义词。

### -i, --ignore-spaces

忽略函数名后的空格。允许在函数名和 '(' 之间有空格（包括制表符和换行符）。缺点是这会导致内置函数成为保留字。

### --init-command=str

连接到 OceanBase 服务器时要执行的 SQL 命令。重新连接时将自动重新执行。

### --line-numbers

为错误写入行号。（默认为 **ON**；使用 `--skip-line-numbers` 禁用。）

### --local-infile

启用或禁用 `LOAD DATA INFILE` 的 LOCAL 功能。没有值时，该选项启用 `LOCAL`。该选项可以指定为 `--local-infile=0` 或 `--local-infile=1` 来显式禁用或启用 `LOCAL`。启用 `LOCAL` 如果服务器也不支持它，则无效。

### --max-allowed-packet=num

发送到服务器或从服务器接收的最大数据包长度。默认值为 16MB，最大值为 1GB。

### --max-join-size=num

使用 `--safe-updates` 时连接中行的自动限制。默认值为 **1000000**。

### -G, --named-commands

启用命名命令。命名命令是指 OBClient 的内部命令（见下文）。启用后，命名命令可以从查询的任何行使用，否则只能从第一行使用，在回车之前。允许长格式命令，而不仅仅是短格式命令。例如，`quit` 和 `\q` 都被识别。使用 `--disable-named-commands` 禁用。此选项默认禁用。

### --net-buffer-length=num

TCP/IP 和套接字通信的缓冲区大小。默认值为 16KB。

### -b, --no-beep

出错时关闭蜂鸣声。

### --no-defaults

不从任何选项文件读取默认选项。必须作为第一个选项给出。

### -o, --one-database

忽略语句，除非默认数据库是命令行上指定的数据库。此过滤是有限的，仅基于 `USE` 语句。这对于跳过二进制日志中其他数据库的更新很有用。

### --pager[=name]

用于显示结果的分页器（仅限 Unix）。如果您不提供选项，默认分页器从您的 ENV 变量 PAGER 中获取。有效的分页器是 `less`、`more`、`cat [> filename]` 等。另请参阅交互式帮助（\h）。此选项在批处理模式下不起作用。使用 `--disable-pager` 禁用。此选项默认禁用。

### -p, --password[=password]

连接到服务器时使用的密码。如果您使用短选项形式（`-p`），选项和密码之间不能有空格。如果您在命令行上省略 `--password` 或 `-p` 选项后面的密码值，OBClient 会提示输入一个。在命令行上指定密码应被视为不安全。您可以使用选项文件来避免在命令行上提供密码。

### --plugin-dir=name

客户端插件的目录。

### -P, --port=num

用于连接的端口号，或 **0** 表示由下列来源决定默认值，优先级依次为：`my.cnf`、`$MYSQL_TCP_PORT`、`/etc/services`、内置默认值。

### --print-defaults

打印程序参数列表并退出。必须作为第一个选项给出。

### --prompt=name

将 OBClient 提示符设置为此值。请参阅 prompt 命令了解选项。

### --protocol=name

用于连接的协议（`tcp`、`socket`、`pipe`、`memory`）。

### -q, --quick

不缓存结果，逐行打印。如果输出被暂停，这可能会减慢服务器速度。不使用历史文件。

### -r, --raw

对于表格输出，列周围的"框"使一个列值能够与另一个列值区分开来。对于非表格输出（例如在批处理模式下或给出 `--batch` 或 `--silent` 选项时产生的输出），特殊字符在输出中被转义，以便可以轻松识别它们。换行符、制表符、NUL 和反斜杠被写为 `\n`、`\t`、`\0` 和 `\\`。`--raw` 选项禁用此字符转义。

### --reconnect

如果连接丢失，则重新连接。此选项默认启用。使用 `--disable-reconnect` 或 `skip-reconnect` 禁用。

### -U, --safe-updates

仅允许那些通过使用键值指定要修改的行的 `UPDATE` 和 `DELETE` 语句。如果您在选项文件中设置了此选项，可以通过在命令行上使用 `--safe-updates` 来覆盖它。请参阅使用 --safe-updates 选项了解更多信息。

### -s, --silent

更安静。此选项可以多次给出以产生越来越少输出。此选项导致非表格输出格式和特殊字符的转义。可以通过使用原始模式禁用转义；请参阅 `--raw` 选项的描述。

### --skip-auto-rehash

禁用自动重新哈希。请参阅 `--auto-rehash`。

### -N, --skip-column-names

不要在结果中写入列名。请参阅 `--column-names`。

### --skip-comments

丢弃注释。默认设置，请参阅 `--comments` 启用。

### -L, --skip-line-numbers

不要为错误写入行号。请参阅 `--line-numbers`。

### --skip-reconnect

如果连接丢失，不要重新连接。请参阅 `--reconnect`。

### -S, --socket=name

对于到 localhost 的连接，要使用的 Unix 套接字文件，或在 Windows 上，要使用的命名管道的名称。套接字文件可能存在于不同的位置，具体取决于设置。常见位置包括：

- Debian-based, Ubuntu: `/var/run/mysqld/mysqld.sock`
 - SUSE: `/var/run/mysql/mysql.sock`
 - Red Hat: `/var/lib/mysql/mysql.sock`
 - Other: `/tmp/mysql.sock`

### --ssl

启用 TLS。即使没有设置此选项，当设置了某些其他 TLS 选项时，TLS 也会启用。`--ssl` 选项默认不启用服务器证书验证。为了验证服务器证书，用户必须指定 `--ssl-verify-server-cert` 选项。

### --ssl-ca=name

定义应包含一个或多个受信任证书颁发机构（CA）的 X509 证书的 PEM 文件路径，用于 TLS。此选项要求您使用绝对路径，而不是相对路径。此选项意味着 `--ssl` 选项。

### --ssl-capath=name

定义应包含一个或多个 PEM 文件的目录路径，每个文件应包含一个受信任证书颁发机构（CA）的 X509 证书，用于 TLS。此选项要求您使用绝对路径，而不是相对路径。指定的目录需要通过 `openssl rehash` 命令运行。此选项仅在客户端使用 OpenSSL 或 yaSSL 构建时受支持。如果客户端使用 GnuTLS 或 Schannel 构建，则不支持此选项。此选项意味着 `--ssl` 选项。

### --ssl-cert=name

定义用于 TLS 的 X509 证书文件的路径。此选项要求您使用绝对路径，而不是相对路径。此选项意味着 `--ssl` 选项。

### --ssl-cipher=name

用于 TLS 的允许的密码或密码套件列表。此选项意味着 `--ssl` 选项。

### --ssl-crl=name

定义应包含一个或多个已撤销的 X509 证书的 PEM 文件路径，用于 TLS。此选项要求您使用绝对路径，而不是相对路径。此选项仅在客户端使用 OpenSSL 或 Schannel 构建时受支持。如果客户端使用 yaSSL 或 GnuTLS 构建，则不支持此选项。

### --ssl-crlpath=name

定义应包含一个或多个 PEM 文件的目录路径，每个文件应包含一个已撤销的 X509 证书，用于 TLS。此选项要求您使用绝对路径，而不是相对路径。指定的目录需要通过 `openssl rehash` 命令运行。此选项仅在客户端使用 OpenSSL 构建时受支持。如果客户端使用 yaSSL、GnuTLS 或 Schannel 构建，则不支持此选项。

### --ssl-key=name

定义用于 TLS 的私钥文件的路径。此选项要求您使用绝对路径，而不是相对路径。此选项意味着 `--ssl` 选项。

### --ssl-verify-server-cert

启用服务器证书验证。此选项**默认关闭**；需要校验服务端证书时请显式指定该选项。使用 `--disable-ssl-verify-server-cert` 可确保关闭校验。

### -t, --table

以表格格式显示输出。这是交互式使用的默认值，但可用于在批处理模式下产生表格输出。

### --tee=name

将所有内容追加到输出文件。另请参阅交互式帮助（\h）。在批处理模式下不起作用。使用 `--disable-tee` 禁用。此选项默认禁用。

### --tls-version=name

此选项接受逗号分隔的 TLS 协议版本列表。只有当 TLS 协议版本出现在此列表中时才会启用。所有其他 TLS 协议版本将不被允许。

### --ssl-fp=name

服务器证书指纹（意味着 `--ssl`）。

### --ssl-fplist=name

包含接受的服务器证书指纹的文件，每行一个（意味着 `--ssl`）。

### -n, --unbuffered

在每个查询后刷新缓冲区。

### -u, --user=name

用于登录的用户名。在未指定 Unix 套接字且使用 TCP 连接、且未通过命令行或配置文件指定用户时，OBClient 内置默认用户为 **root@sys**。

### -v, --verbose

写入更多信息。（`-v -v -v` 给出表格输出格式。）

### -V, --version

输出版本信息并退出。

### -E, --vertical

垂直打印查询的输出（行）。如果未启用此选项，请使用 `\G` 分隔符应用于特定语句。

### -w, --wait

如果无法建立连接，等待并重试而不是中止。

### -X, --xml

生成 XML 输出。

## 相关文档

- [OBClient 概述](https://www.oceanbase.com/docs/common-obclient-doc-cn-1000000006361905)
 - [`--error-sql`（脚本报错上下文）](https://www.oceanbase.com/docs/common-obclient-doc-cn-1000000006361908)
 - [OBClient 交互式命令参考](https://www.oceanbase.com/docs/common-obclient-doc-cn-1000000006361911)

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
