AWS 服务指南上的 MySQL HeatWave  /  第 11 章 配置

第 11 章 配置

数据库系统的配置包括会话变量和全局系统变量,它们定义了它的操作。AWS 上的 MySQL HeatWave 允许配置仅影响当前会话的会话变量。全局系统变量要么是静态的,要么由数据库系统管理,不能修改。

一些全局系统变量针对特定的 MySQL 形状进行了调整。shape 是一个资源模板,它定义了 MySQL 实例可用的资源。有关形状的信息,请参阅支持的形状

DB系统变量分类如下:

  • 用户可设置的会话变量:只能为当前会话修改的变量。请参阅用户可设置的会话变量

  • 全局系统变量:具有静态值或由数据库系统管理且无法修改的值的全局系统变量。请参阅 全局系统变量

  • Shape-Dependent 全局系统变量:针对特定 MySQL 形状调整的全局系统变量。不能修改形状相关的全局系统变量。请参阅 形状相关的全局系统变量

用户可设置的会话变量

如果更改会话变量,该值将在会话中保持有效,直到您将该变量更改为不同的值或会话结束。更改对其他会话没有影响。

要为会话变量赋值,请在变量名称前加上SESSIONor 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