基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
OBClient 命令行选项参考
更新时间:2026-06-30 18:11:26
本文档提供 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 选项(脚本报错上下文)。
-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 输出。