基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
OBClient 配置和环境变量
更新时间:2026-06-30 18:11:26
本文档介绍 OBClient 的配置文件、环境变量和 login.sql 脚本的使用方法。
配置文件
除了从命令行读取选项外,obclient 还可以从配置文件读取选项。如果向 obclient 提供了未知选项,则忽略它。
配置文件选项
以下选项与 OceanBase 命令行工具处理配置文件的方式有关。它们必须作为命令行上的第一个参数给出:
| 选项 | 描述 |
|---|---|
--print-defaults |
打印程序参数列表并退出。 |
--no-defaults |
不从任何选项文件读取默认选项。 |
--defaults-file=# |
仅从给定文件 # 读取默认选项。 |
--defaults-extra-file=# |
在读取全局文件后读取此文件。 |
--defaults-group-suffix=# |
除了默认选项组之外,还读取具有此后缀的选项组。如果未设置,OceanBase 检查 $MYSQL_GROUP_SUFFIX 环境变量。 |
--login-path=# |
从加密登录文件(~/.mylogin.cnf)读取指定 login path 的凭据。必须作为第一个参数给出。 |
选项组
obclient 从配置文件的以下选项组读取选项:
| 组 | 描述 |
|---|---|
[mysql] |
通用 MySQL 兼容选项组。 |
[client] |
所有客户端程序共用的选项组(推荐在此配置 host、port、user 等)。 |
[client-server] |
客户端与服务器共用的选项组(如 socket、port)。 |
配置文件示例
在配置文件中,您可以这样设置:
[obclient]
host=127.0.0.1
port=2881
user=root@sys
password=your_password
database=testdb
环境变量
OBClient 支持以下环境变量来配置客户端行为:
OBClient 环境变量
| 环境变量 | 描述 | 示例 |
|---|---|---|
OBCLIENT_LOGIN_FILE |
指定登录时执行的 SQL 脚本文件路径。 | export OBCLIENT_LOGIN_FILE=/data/login.sql |
OBCLIENT_PATH |
指定登录脚本文件目录。OBClient 会在该目录下查找 obclient_login.sql 文件。 |
export OBCLIENT_PATH=/data |
DISABLE_SET_NUM_WIDTH |
控制 SET NUMWIDTH 命令是否生效。设置为 0 时开启,默认关闭。 |
export DISABLE_SET_NUM_WIDTH=0 |
MYSQL_HISTFILE |
指定历史文件路径。默认值为 $HOME/.mysql_history。 |
export MYSQL_HISTFILE=/dev/null |
MYSQL_TCP_PORT |
指定默认 TCP/IP 端口号。 | export MYSQL_TCP_PORT=2881 |
MYSQL_UNIX_PORT |
指定默认 Unix 套接字文件路径。 | export MYSQL_UNIX_PORT=/tmp/mysql.sock |
MYSQL_PWD |
指定默认密码(不推荐,存在安全风险)。 | export MYSQL_PWD=password |
PAGER |
指定分页器程序。 | export PAGER=less |
libobclient 环境变量
| 环境变量 | 描述 | 示例 |
|---|---|---|
NLS_DATE_FORMAT |
设置 Date 格式。 | export NLS_DATE_FORMAT="YYYYMMDD" |
NLS_TIMESTAMP_FORMAT |
设置 TIMESTAMP 格式。 | export NLS_TIMESTAMP_FORMAT="YYYY-MM-DD HH24:MI:SS:FF3" |
NLS_TIMESTAMP_TZ_FORMAT |
设置 TIMESTAMP WITH TIME ZONE 格式。 | export NLS_TIMESTAMP_TZ_FORMAT="YYYY-MM-DD HH24:MI:SS" |
OBCI_TNS_FILE |
设置 TNS 文件路径。 | export OBCI_TNS_FILE=/data/obci_tnsnames.ora |
TNS_ADMIN |
设置 TNS 管理目录路径。 | export TNS_ADMIN=/data |
ORACLE_HOME |
设置 Oracle 主目录路径。 | export ORACLE_HOME=/data |
OBCLIENT_PLUGIN_DIR |
设置插件目录路径。 | export OBCLIENT_PLUGIN_DIR=/data/ |
ENABLE_PROTOCOL_OB20 |
控制是否启用 OB 2.0 协议。设置为 0 时关闭,默认开启。 |
export ENABLE_PROTOCOL_OB20=0 |
ENABLE_PREPARE_EXECUTE |
控制是否启用 PS 协议。设置为 0 时开启 PS 协议,默认使用二合一协议。 |
export ENABLE_PREPARE_EXECUTE=0 |
历史文件
在 Unix 上,OBClient 客户端将执行的语句记录写入历史文件。默认情况下,此文件名为 .mysql_history,并在您的主目录中创建。
注意
.mysql_history 文件可能包含敏感信息(例如包含密码的 SQL 语句),建议使用限制性访问模式保护该文件。如果您不想维护历史文件,可以将 MYSQL_HISTFILE 环境变量设置为 /dev/null。
login.sql 脚本
OBClient 支持在登录时自动执行 SQL 脚本。可以通过以下两种方式配置:
方式一:使用 OBCLIENT_LOGIN_FILE 环境变量
设置环境变量指定登录脚本文件:
export OBCLIENT_LOGIN_FILE=/data/login.sql
方式二:使用 OBCLIENT_PATH 环境变量
设置环境变量指定登录脚本目录,OBClient 会在该目录下查找 obclient_login.sql 文件:
export OBCLIENT_PATH=/data
OBClient 会在 /data/obclient_login.sql 路径查找登录脚本。
login.sql 脚本示例
在登录脚本中,您可以设置一些常用的 SQL 变量或执行初始化命令:
-- 设置 SQL*Plus 兼容的变量
SET FEEDBACK ON;
SET HEADING ON;
SET LINESIZE 1000;
-- 设置日期格式
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
-- 显示欢迎信息
SELECT 'Welcome to OceanBase!' AS message FROM dual;