数据库系统的配置包括会话变量和全局系统变量,它们定义了它的操作。AWS 上的 MySQL HeatWave 允许配置仅影响当前会话的会话变量。全局系统变量要么是静态的,要么由数据库系统管理,不能修改。
一些全局系统变量针对特定的 MySQL 形状进行了调整。shape 是一个资源模板,它定义了 MySQL 实例可用的资源。有关形状的信息,请参阅支持的形状。
DB系统变量分类如下:
用户可设置的会话变量:只能为当前会话修改的变量。请参阅用户可设置的会话变量。
全局系统变量:具有静态值或由数据库系统管理且无法修改的值的全局系统变量。请参阅
全局系统变量。
Shape-Dependent 全局系统变量:针对特定 MySQL 形状调整的全局系统变量。不能修改形状相关的全局系统变量。请参阅
形状相关的全局系统变量。
如果更改会话变量,该值将在会话中保持有效,直到您将该变量更改为不同的值或会话结束。更改对其他会话没有影响。
要为会话变量赋值,请在变量名称前加上SESSION
or
LOCAL
关键字、
@@SESSION.
、@@LOCAL.
或
@@
限定符,或者不使用关键字或根本不使用任何修饰符;例如:
SET SESSION sql_mode = 'TRADITIONAL';
SET LOCAL sql_mode = 'TRADITIONAL';
SET @@SESSION.sql_mode = 'TRADITIONAL';
SET @@LOCAL.sql_mode = 'TRADITIONAL';
SET @@sql_mode = 'TRADITIONAL';
SET sql_mode = 'TRADITIONAL';
笔记
对于新连接,使用相应的全局系统变量值初始化会话变量值。
表 11.1 用户可设置的会话变量
变量的名称 |
默认值 |
autocommit |
ON |
big_tables |
OFF |
block_encryption_mode |
aes-128-ecb |
character_set_client |
utf8mb4 |
character_set_connection |
utf8mb4 |
character_set_results |
utf8mb4 |
character_set_server |
utf8mb4 |
collation_connection |
utf8mb4_0900_ai_ci |
collation_database |
utf8mb4_0900_ai_ci |
collation_server |
utf8mb4_0900_ai_ci |
completion_type |
NO_CHAIN (0) |
cte_max_recursion_depth |
1000 |
default_storage_engine |
InnoDB |
default_tmp_storage_engine |
InnoDB |
default_week_format |
0 |
div_precision_increment |
4 |
end_markers_in_json |
OFF |
eq_range_index_dive_limit |
200 |
foreign_key_checks |
ON |
group_concat_max_len |
1024 |
group_replication_consistency |
BEFORE_ON_PRIMARY_FAILOVER |
information_schema_stats_expiry |
86400 (24h) |
innodb_ddl_buffer_size |
1MB |
innodb_ddl_threads |
4 |
innodb_ft_enable_stopword |
ON |
innodb_ft_user_stopword_table |
NULL |
innodb_lock_wait_timeout |
50 |
innodb_parallel_read_threads |
形状依赖。请参阅
形状相关的全局系统变量。 |
internal_tmp_mem_storage_engine |
TempTable |
join_buffer_size |
262144 |
lc_messages |
en_US |
lc_time_names |
'en_US' |
lock_wait_timeout |
86400 (1天) |
long_query_time |
10 |
max_allowed_packet |
67108864 |
max_execution_time |
0 (disabled) |
max_heap_table_size |
16777216 |
max_join_size |
18446744073709551615 |
max_length_for_sort_data |
4096 |
max_points_in_geometry |
65536 |
max_seeks_for_key |
18446744073709551615 |
max_sort_length |
1024 |
mysqlx_max_allowed_packet |
67108864 |
mysqlx_read_timeout |
30 |
mysqlx_wait_timeout |
28800 |
mysqlx_write_timeout |
60 |
net_buffer_length |
16384 |
net_read_timeout |
30 |
net_retry_count |
10 |
net_write_timeout |
60 |
new |
OFF |
old_alter_table |
OFF |
optimizer_prune_level |
1 |
optimizer_search_depth |
62 |
optimizer_switch |
index_merge_sort_union=on, index_merge_intersection=on,
engine_condition_pushdown=on, index_condition_pushdown=on,
mrr=on, mrr_cost_based=on, block_nested_loop=on,
batched_key_access=off, materialization=on, semijoin=on,
loosescan=on, firstmatch=on, duplicateweedout=on,
subquery_materialization_cost_based=on,
use_index_extensions=on, condition_fanout_filter=on,
derived_merge=on, use_invisible_indexes=off, skip_scan=on,
hash_join=on, subquery_to_derived=off,
prefer_ordering_index=on, hypergraph_optimizer=off,
derived_condition_pushdown=on |
optimizer_trace |
enabled=off,one_line=off |
optimizer_trace_features |
greedy_search=on, range_optimizer=on, dynamic_range=on,
repeated_subselect=on |
optimizer_trace_limit |
1 |
optimizer_trace_max_mem_size |
1048576 |
optimizer_trace_offset |
-1 |
parser_max_mem_size |
18446744073709551615 |
print_identified_with_as_hex |
OFF |
pseudo_replica_mode |
OFF |
pseudo_slave_mode |
OFF |
query_alloc_block_size |
8192 |
query_prealloc_size |
8192 |
range_alloc_block_size |
4096 |
range_optimizer_max_mem_size |
8388608 |
rbr_exec_mode |
STRICT |
read_buffer_size |
131072 |
read_rnd_buffer_size |
262144 |
resultset_metadata |
FULL |
secondary_engine_execution_count |
100000.000000 |
secondary_engine_cost_threashold |
100000.000000 |
session_track_gtids |
OFF |
session_track_schema |
ON |
session_track_state_change |
OFF |
session_track_system_variables |
262144 |
session_track_transaction_info |
OFF |
show_create_table_skip_secondary_engine |
OFF |
show_create_table_verbosity |
OFF |
sort_buffer_size |
262144 |
sql_auto_is_null |
OFF |
sql_big_selects |
ON |
sql_buffer_result |
OFF |
sql_mode |
ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE,
NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO,
NO_ENGINE_SUBSTITUTION |
sql_notes |
ON |
sql_quote_show_create |
ON |
sql_safe_updates |
OFF |
sql_select_limit |
18446744073709551615 |
sql_warnings |
OFF |
thread_pool_high_priority_connection |
0 |
time_zone |
UTC |
tmp_table_size |
16777216 |
transaction_alloc_block_size |
8192 |
transaction_isolation |
REPEATABLE-READ |
transaction_prealloc_size |
4096 |
transaction_read_only |
OFF |
unique_checks |
ON |
updatable_views_with_limit |
YES |
use_secondary_engine |
ON |
wait_timeout |
28800 |
windowing_use_high_precision |
ON |
全局系统变量要么是静态的,要么由数据库系统管理,不能修改。MySQL 有许多全局系统变量。带有修饰符的SHOW VARIABLES
语句GLOBAL
显示全局系统变量值:
SHOW GLOBAL VARIABLES;
要获取特定变量的值,请使用
LIKE
如下所示的子句:
SHOW GLOBAL VARIABLES LIKE 'max_join_size';
要获取名称与模式匹配的变量列表,请
在子句
中使用%
通配符
:LIKE
SHOW GLOBAL VARIABLES LIKE '%size%';
笔记
AWS 上 MySQL HeatWave的lower_case_table_names
系统变量设置为 0,这意味着表名按指定存储并且比较区分大小写。因此,在 MySQL 中查询表的应用程序必须使用 MySQL 中定义的表名大小写。
形状相关的全局系统变量链接到特定的 MySQL 形状,并针对特定的 MySQL 形状进行调整。不能修改全局系统变量。有关形状的信息,请参阅
支持的形状。
表 11.2 形状相关的全局系统变量
变量的名称 |
默认值 |
back_log |
取决于形状。每个形状的默认值是:
MySQL.2.16GB -1000
MySQL.4.32GB -2000
MySQL.8.64GB -4000
MySQL.32.256GB -2000
|
innodb_buffer_pool_size |
取决于形状提供的 RAM 量。默认值是:
MySQL.2.16GB - 5368709120 (5GB)
MySQL.4.32GB - 10737418240 (10GB)
MySQL.8.64GB - 30064771072 (28GB)
MySQL.32.256GB - 21474836480 (20GB)
|
innodb_log_files_in_group |
取决于形状。每个形状的默认值是:
MySQL.2.16GB -2
MySQL.4.32GB -4
MySQL.8.64GB -8
MySQL.32.256GB -8
|
innodb_page_cleaners |
取决于形状。每个形状的默认值是:
MySQL.2.16GB -4
MySQL.4.32GB -4
MySQL.8.64GB -4
MySQL.32.256GB -4
|
innodb_parallel_read_threads |
取决于形状。全局值不能修改,但是可以为当前会话修改相应的会话变量。请参阅
用户可设置的会话变量。每个形状的默认全局值是:
MySQL.2.16GB -1
MySQL.4.32GB -2
MySQL.8.64GB -4
MySQL.32.256GB -32
|
innodb_read_io_threads |
取决于形状。每个形状的默认值是:
MySQL.2.16GB -1
MySQL.4.32GB -2
MySQL.8.64GB -4
MySQL.32.256GB -2
|
max_connections |
取决于形状。每个形状的默认值是:
MySQL.2.16GB -1000
MySQL.4.32GB -2000
MySQL.8.64GB -4000
MySQL.32.256GB -2000
|
max_prepared_stmt_count |
取决于形状。每个形状的最大值为:
MySQL.2.16GB -20000
MySQL.4.32GB -40000
MySQL.8.64GB -80000
MySQL.32.256GB -40000
|
slave_parallel_workers |
取决于形状。每个形状的默认值是:
MySQL.2.16GB -4
MySQL.4.32GB -8
MySQL.8.64GB -16
MySQL.32.256GB -16
|
temptable_max_ram |
取决于形状。每个形状的默认值是:
MySQL.2.16GB -1GB
MySQL.4.32GB -1GB
MySQL.8.64GB -2GB
MySQL.32.256GB -1GB
|
thread_pool_size |
取决于形状。每个形状的默认值是:
MySQL.2.16GB -8
MySQL.4.32GB -16
MySQL.8.64GB -32
MySQL.32.256GB -32
|