---
title: "OBClient 配置和环境变量 - 命令行客户端 V2.2.13 | OceanBase 文档中心"
description: OBClient 配置和环境变量 本文档介绍 OBClient 的配置文件、环境变量和 login.sql 脚本的使用方法。 配置文件 除了从命令行读取选项外， obclient 还可以从配置文件读取选项。如果向 obclient 提供了未知选项，则忽略它。 配置文件选项 以下选项与 OceanBase 命令行工具处…
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/400.configuration-and-environment/400.configuration-and-environment.md)  

本文档介绍 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`）。 |

### 配置文件示例

在配置文件中，您可以这样设置：

```ini
[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 环境变量

设置环境变量指定登录脚本文件：

```bash
export OBCLIENT_LOGIN_FILE=/data/login.sql

```

### 方式二：使用 OBCLIENT_PATH 环境变量

设置环境变量指定登录脚本目录，OBClient 会在该目录下查找 `obclient_login.sql` 文件：

```bash
export OBCLIENT_PATH=/data

```

OBClient 会在 `/data/obclient_login.sql` 路径查找登录脚本。

### login.sql 脚本示例

在登录脚本中，您可以设置一些常用的 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;

```

## 相关文档

- [OBClient 概述](https://www.oceanbase.com/docs/common-obclient-doc-cn-1000000006361905)
 - [OBClient 命令行选项参考](https://www.oceanbase.com/docs/common-obclient-doc-cn-1000000006361909)
 - [脚本报错上下文](https://www.oceanbase.com/docs/common-obclient-doc-cn-1000000006361908)
 - [login_path 支持](https://www.oceanbase.com/docs/common-obclient-doc-cn-1000000006361913)
 - [OBClient 高级功能](https://www.oceanbase.com/docs/common-obclient-doc-cn-1000000006361914)

 上一篇 下一篇 ![有帮助](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) 咨询热线
