修改系统变量
通过系统变量的设置可以使 seekdb 的行为符合业务的要求。本文介绍如何修改系统变量。
系统变量可以通过 SET 语句修改。
- 设置 Session 级别的变量仅对当前 Session 有效,对其他 Session 无效。
- 设置 Global 级别的变量对当前 Session 无效,需要重新登录后,建立新的 Session 才会生效。
下文示例中的系统变量 ob_query_timeout 用于设置对 SQL 语句进行查询操作的超时时间,单位是微秒。在进行大数据查询操作时,就可以通过调大系统变量 ob_query_timeout 的值,避免查询超时导致语句执行失败。
修改 Session 级别的系统变量
-
登录到 seekdb。
连接示例如下,连接数据库时请以实际环境为准。
mysql -h127.xx.xx.xx -P2881 -uroot -p***** -A -
查询 Session 级别的系统变量。
SHOW VARIABLES LIKE 'ob_query_timeout';结果如下:
+------------------+----------+
| Variable_name | Value |
+------------------+----------+
| ob_query_timeout | 10000000 |
+------------------+----------+
1 row in set -
通过
SET修改 Session 级别变量值。SET ob_query_timeout = 20000000; -
查看修改结果。
SHOW VARIABLES WHERE variable_name LIKE 'ob_query_timeout';结果如下:
+------------------+----------+
| Variable_name | Value |
+------------------+----------+
| ob_query_timeout | 20000000 |
+------------------+----------+
1 row in set
修改 Global 级别的系统变量
-
登录到 seekdb。
连接示例如下,连接数据库时请以实际环境为准。
mysql -h127.xx.xx.xx -P2881 -uroot -p***** -A -
查询 Global 变量。
SHOW GLOBAL VARIABLES WHERE variable_name LIKE 'ob_query_timeout';结果如下:
+------------------+----------+
| Variable_name | Value |
+------------------+----------+
| ob_query_timeout | 10000000 |
+------------------+----------+
1 row in set -
通过
SET修改 Global 级别变量值。SET GLOBAL ob_query_timeout = 20000000; -
查看修改结果。
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 三种方式进行布尔类型变量的设置是等效的。