服务器系统变量

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 模式仅语法支持,实际不起作用。