服务器系统变量

MatrixOne 服务器系统变量(System Variable)是指在 MatrixOne Server 中,用于控制或配置数据库引擎或其他组件行为的一组变量。这些变量的值可以通过 SET 语句进行设置和更改。

系统变量可分为两类:全局变量会话变量

  • 全局变量:是指对所有连接的 MatrixOne 会话都适用的变量。它们的值在 MatrixOne Server 启动时设置,并在 MatrixOne Server 关闭之前保持不变。全局变量通常用于控制 MatrixOne Server 的行为,例如指定默认备份和恢复位置,指定默认语言环境等。

  • 会话变量:是指只对当前用户连接的 MatrixOne 会话适用的变量。它们的值可以在用户连接的任何时间更改,并在用户断开连接时自动清除。会话变量通常用于控制会话的行为,例如控制打印信息的方式,指定事务隔离级别等。

如何查询系统变量?

你可以使用以下 SQL 查询:

  1. SHOW VARIABLES;

这会列出所有系统变量及其当前值。如果你只想查看与特定主题相关的系统变量,可以使用以下语法:

  1. SHOW VARIABLES LIKE '%theme%';

这将列出所有名称中包含 theme 的系统变量及其当前值。

Note: LIKE 运算符是用来模糊匹配查询的字符串的,% 表示零个或多个任意字符。所以,上述命令将匹配名称中包含 theme 的任何系统变量。

如何查询全局变量?

你可以使用以下 SQL 查询:

  1. SHOW GLOBAL VARIABLES;

这将列出所有全局系统变量及其当前值。如果你只想查看与特定主题相关的全局变量,可以使用以下语法:

  1. SHOW GLOBAL VARIABLES LIKE '%theme%';

这将列出所有名称中包含 theme 的全局系统变量及其当前值。

Note: LIKE 运算符是用来模糊匹配查询的字符串的,% 表示零个或多个任意字符。所以,上述命令将匹配名称中包含 theme 的任何全局系统变量。

如何查询会话变量?

你可以使用以下 SQL 查询:

  1. SHOW SESSION VARIABLES;

这将列出当前会话中所有的系统变量及其当前值。如果你只想查看与特定主题相关的会话变量,可以使用以下语法:

  1. SHOW SESSION VARIABLES LIKE '%theme%';

这将列出所有名称中包含 theme 的会话变量及其当前值。

Note: LIKE 运算符是用来模糊匹配查询的字符串的,% 表示零个或多个任意字符。所以,上述命令将匹配名称中包含 theme 的任何会话系统变量。

变量参照表

Variable_nameCmd-Line(Y/N)Option File(Y/N)Variable TypeSystem Var(Y/N)Var Scope(Global、Both/ Session)Dynamic(Y/N)Default ValueOptional value
auto_increment_incrementYNintYBothY11-65535
auto_increment_offsetYNintYBothY11-65535
autocommitYNboolYBothYTRUEFALSE
character_set_clientYNstringYBothY“utf8mb4”
character_set_connectionYNstringYBothY“utf8mb4”
character_set_databaseYNstringYBothY“utf8mb4”
character_set_resultsYNstringYBothY“utf8mb4”
character_set_serverYNstringYBothY“utf8mb4”
collation_connectionYNstringYBothY“default”
collation_serverYNstringYBothY“utf8mb4_bin”
completion_typeYNenumYBothY“NO_CHAIN”“NO_CHAIN”,”CHAIN”, “RELEASE”
hostYNstringYBothN“0.0.0.0”
init_connectYNstringYBothY“”
interactive_timeoutYNintYBothY288001-31536000
licenseYNstringYBothN“APACHE”
lower_case_table_namesYNintYBothN10-2
max_allowed_packetYNintYBothY167772161024-1073741824
net_write_timeoutYNintYBothY601-31536000
performance_schemaYNintYBothY00-1
portYNintYBothN60010-65535
profilingYNintYBothY00-1
query_result_maxsizeYNuintYBothY1000-18446744073709551615
query_result_timeoutYNuintYBothY240-18446744073709551615
save_query_resultYNboolYBothYFALSETRUE
sql_modeYNsetYBothY“ONLY_FULL_GROUP_BY,
STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,
NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_ENGINE_SUBSTITUTION”
“ANSI”, “TRADITIONAL”, “ALLOW_INVALID_DATES”, “ANSI_QUOTES”, “ERROR_FOR_DIVISION_BY_ZERO”, “HIGH_NOT_PRECEDENCE”, “IGNORE_SPACE”, “NO_AUTO_VALUE_ON_ZERO”, “NO_BACKSLASH_ESCAPES”, “NO_DIR_IN_CREATE”, “NO_ENGINE_SUBSTITUTION”, “NO_UNSIGNED_SUBTRACTION”, “NO_ZERO_DATE”, “NO_ZERO_IN_DATE”, “ONLY_FULL_GROUP_BY”, “PAD_CHAR_TO_FULL_LENGTH”, “PIPES_AS_CONCAT”, “REAL_AS_FLOAT”, “STRICT_ALL_TABLES”, “STRICT_TRANS_TABLES”, “TIME_TRUNCATE_FRACTIONAL”
sql_safe_updatesYNintYBothY00-1
sql_select_limitYNuintYBothY184467440737095516150-18446744073709551615
system_time_zoneYNstringYBothN“”
time_zoneYNstringYBothN“SYSTEM”
transaction_isolationYNenumYBothY“REPEATABLE-READ”“READ-UNCOMMITTED”, “READ-COMMITTED”, “REPEATABLE-READ”,”REPEATABLE-READ”, “SERIALIZABLE”
transaction_read_onlyYNintYBothY00-1
version_commentYNstringYBothN“MatrixOne”
wait_timeoutYNintYBothY288001-2147483

限制

  1. MatrixOne 为兼容 MySQL,当前对于本章节所介绍的系统变量仅实现语法支持。
  2. MatrixOne 为兼容 MySQL,除支持 ONLY_FULL_GROUP_BY 模式以外,sql_mode 其他模式仅实现语法支持。