Skip to content

服务器系统变量

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

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

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

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

如何查询系统变量?

你可以使用以下 SQL 查询:

SHOW VARIABLES;

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

SHOW VARIABLES LIKE '%theme%';

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

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

如何查询全局变量?

你可以使用以下 SQL 查询:

SHOW GLOBAL VARIABLES;

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

SHOW GLOBAL VARIABLES LIKE '%theme%';

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

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

如何查询会话变量?

你可以使用以下 SQL 查询:

SHOW SESSION VARIABLES;

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

SHOW SESSION VARIABLES LIKE '%theme%';

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

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

变量参照表

Variable_name Cmd-Line(Y/N) Option File(Y/N) Variable Type System Var(Y/N) Var Scope(Global、Both/ Session) Dynamic(Y/N) Default Value Optional value
auto_increment_increment Y N int Y Both Y 1 1-65535
auto_increment_offset Y N int Y Both Y 1 1-65535
autocommit Y N bool Y Both Y TRUE FALSE
character_set_client Y N string Y Both Y "utf8mb4"
character_set_connection Y N string Y Both Y "utf8mb4"
character_set_database Y N string Y Both Y "utf8mb4"
character_set_results Y N string Y Both Y "utf8mb4"
character_set_server Y N string Y Both Y "utf8mb4"
collation_connection Y N string Y Both Y "default"
collation_server Y N string Y Both Y "utf8mb4_bin"
completion_type Y N enum Y Both Y "NO_CHAIN" "NO_CHAIN","CHAIN", "RELEASE"
host Y N string Y Both N "0.0.0.0"
init_connect Y N string Y Both Y ""
interactive_timeout Y N int Y Both Y 28800 1-31536000
license Y N string Y Both N "APACHE"
lower_case_table_names Y N int Y Both N 1 0-2
max_allowed_packet Y N int Y Both Y 16777216 1024-1073741824
net_write_timeout Y N int Y Both Y 60 1-31536000
performance_schema Y N int Y Both Y 0 0-1
port Y N int Y Both N 6001 0-65535
profiling Y N int Y Both Y 0 0-1
query_result_maxsize Y N uint Y Both Y 100 0-18446744073709551615
query_result_timeout Y N uint Y Both Y 24 0-18446744073709551615
save_query_result Y N bool Y Both Y FALSE TRUE
sql_mode Y N set Y Both Y "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_updates Y N int Y Both Y 0 0-1
sql_select_limit Y N uint Y Both Y 18446744073709551615 0-18446744073709551615
system_time_zone Y N string Y Both N ""
time_zone Y N string Y Both N "SYSTEM"
transaction_isolation Y N enum Y Both Y "REPEATABLE-READ" "READ-UNCOMMITTED", "READ-COMMITTED", "REPEATABLE-READ","REPEATABLE-READ", "SERIALIZABLE"
transaction_read_only Y N int Y Both Y 0 0-1
version_comment Y N string Y Both N "MatrixOne"
wait_timeout Y N int Y Both Y 28800 1-2147483

限制

MatrixOne 为兼容 MySQL,SQL 模式只支持 ONLY_FULL_GROUP_BY 模式;其他 SQL 模式仅语法支持,实际不起作用。