跳到主要内容

修改系统变量

通过系统变量的设置可以使 seekdb 的行为符合业务的要求。本文介绍如何修改系统变量。

系统变量可以通过 SET 语句修改。

  • 设置 Session 级别的变量仅对当前 Session 有效,对其他 Session 无效。
  • 设置 Global 级别的变量对当前 Session 无效,需要重新登录后,建立新的 Session 才会生效。

下文示例中的系统变量 ob_query_timeout 用于设置对 SQL 语句进行查询操作的超时时间,单位是微秒。在进行大数据查询操作时,就可以通过调大系统变量 ob_query_timeout 的值,避免查询超时导致语句执行失败。

修改 Session 级别的系统变量

  1. 登录到 seekdb。

    连接示例如下,连接数据库时请以实际环境为准。

    mysql -h127.xx.xx.xx -P2881 -uroot -p***** -A
  2. 查询 Session 级别的系统变量。

    SHOW VARIABLES LIKE 'ob_query_timeout';

    结果如下:

    +------------------+----------+
    | Variable_name | Value |
    +------------------+----------+
    | ob_query_timeout | 10000000 |
    +------------------+----------+
    1 row in set
  3. 通过 SET 修改 Session 级别变量值。

    SET ob_query_timeout = 20000000;
  4. 查看修改结果。

    SHOW VARIABLES WHERE variable_name LIKE 'ob_query_timeout';

    结果如下:

    +------------------+----------+
    | Variable_name | Value |
    +------------------+----------+
    | ob_query_timeout | 20000000 |
    +------------------+----------+
    1 row in set

修改 Global 级别的系统变量

  1. 登录到 seekdb。

    连接示例如下,连接数据库时请以实际环境为准。

    mysql -h127.xx.xx.xx -P2881 -uroot -p***** -A
  2. 查询 Global 变量。

    SHOW GLOBAL VARIABLES WHERE variable_name LIKE  'ob_query_timeout';

    结果如下:

    +------------------+----------+
    | Variable_name | Value |
    +------------------+----------+
    | ob_query_timeout | 10000000 |
    +------------------+----------+
    1 row in set
  3. 通过 SET 修改 Global 级别变量值。

    SET GLOBAL ob_query_timeout = 20000000;
  4. 查看修改结果。

    SHOW GLOBAL VARIABLES WHERE variable_name LIKE 'ob_query_timeout';

    结果如下:

    +------------------+----------+
    | Variable_name | Value |
    +------------------+----------+
    | ob_query_timeout | 20000000 |
    +------------------+----------+
    1 row in set

    修改成功后,还可以通过视图 DBA_OB_SYS_VARIABLES 查询 ob_query_timeout 变量值的详细修改情况及默认值,语句如下。

    SELECT * FROM oceanbase.DBA_OB_SYS_VARIABLES WHERE NAME='ob_query_timeout';

    结果如下:

    +----------------------------+----------------------------+------------------+----------+-----------+-----------+------------------+----------------------------------+---------------+-----------+
    | CREATE_TIME | MODIFY_TIME | NAME | VALUE | MIN_VALUE | MAX_VALUE | SCOPE | INFO | DEFAULT_VALUE | ISDEFAULT |
    +----------------------------+----------------------------+------------------+----------+-----------+-----------+------------------+----------------------------------+---------------+-----------+
    | 2025-11-19 16:55:28.311760 | 2025-12-11 15:50:59.153465 | ob_query_timeout | 20000000 | | | GLOBAL | SESSION | Query timeout in microsecond(us) | 10000000 | NO |
    +----------------------------+----------------------------+------------------+----------+-----------+-----------+------------------+----------------------------------+---------------+-----------+
    1 row in set

修改布尔类型变量

SHOW VARIABLES 命令中显示 ON/OFF 的变量,可以通过如下任意方法设置变量值:

SET foreign_key_checks = ON;
SET foreign_key_checks = TRUE;
SET foreign_key_checks = 1;

SET GLOBAL foreign_key_checks = OFF;
SET GLOBAL foreign_key_checks = FALSE;
SET GLOBAL foreign_key_checks = 0;
信息

通过 ON/OFF、TRUE/FALSE 或 1/0 三种方式进行布尔类型变量的设置是等效的。

相关文档