Amazon Aurora
Aurora 用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon Aurora MySQL 参考

本参考包含有关 Aurora MySQL 参数和状态变量的信息。

Amazon Aurora MySQL 参数

您可以使用数据库参数组中的参数按照与管理其他 Amazon RDS 数据库实例相同的方法管理 Amazon Aurora MySQL 数据库集群。Amazon Aurora 不同于其他数据库引擎,因为您具有一个包含多个数据库实例的数据库集群。因此,您用于管理 Aurora MySQL 数据库集群的一些参数适用于整个集群,而另一些参数仅适用于数据库集群中的特定数据库实例。

集群级参数是在数据库集群参数组中管理的。实例级参数是在数据库参数组中管理的。尽管 Aurora MySQL 数据库集群中的每个数据库实例都与 MySQL 数据库引擎兼容,但一些 MySQL 数据库引擎参数必须在集群级别应用,并且是使用数据库集群参数组进行管理的。在数据库参数组中未找到适用于 Aurora 数据库集群中的实例的集群级参数,本主题的后面将列出这些参数。

您可以使用 AWS 管理控制台、AWS CLI 或 Amazon RDS API 管理集群级参数和实例级参数。可以使用单独的命令管理集群级参数和实例级参数。例如,您可以使用 modify-db-cluster-parameter-group AWS CLI 命令管理数据库集群参数组中的集群级参数,并使用 modify-db-parameter-group AWS CLI 命令管理数据库集群中的数据库实例的数据库参数组中的实例级参数。

您可以在 AWS 管理控制台中或者使用 AWS CLI 或 Amazon RDS API 查看集群级和实例级参数。例如,您可以使用 describe-db-cluster-parameters AWS CLI 命令查看数据库集群参数组中的集群级参数,并使用 describe-db-parameters AWS CLI 命令查看数据库集群中的数据库实例的数据库参数组中的实例级参数。

有关数据库参数组的更多信息,请参阅 使用数据库参数组和数据库集群参数组

集群级参数

下表显示了适用于整个 Aurora MySQL 数据库集群的所有参数。

参数名称 可修改 备注

aurora_enable_replica_log_compression

不适用于作为 Aurora 全局数据库的一部分的集群。

aurora_enable_repl_bin_log_filtering

不适用于作为 Aurora 全局数据库的一部分的集群。

aurora_enable_zdr

有关更多信息,请参阅Amazon Aurora MySQL 复制的高可用性注意事项

aurora_load_from_s3_role

有关更多信息,请参阅将数据从 Amazon S3 存储桶中的文本文件加载到 Amazon Aurora MySQL 数据库集群

aurora_select_into_s3_role

有关更多信息,请参阅将数据从 Amazon Aurora MySQL 数据库集群保存到 Amazon S3 存储桶中的文本文件

auto_increment_increment

auto_increment_offset

aws_default_lambda_role

有关更多信息,请参阅从 Amazon Aurora MySQL 数据库集群中调用 Lambda 函数

aws_default_s3_role

binlog_checksum

binlog_format

binlog_row_image

binlog_rows_query_log_events

character-set-client-handshake

character_set_client

character_set_connection

character_set_database

character_set_filesystem

character_set_results

character_set_server

collation_connection

collation_server

completion_type

default_storage_engine

Aurora 集群对所有数据使用 InnoDB 存储引擎。

innodb_autoinc_lock_mode

innodb_checksums

innodb_cmp_per_index_enabled

innodb_commit_concurrency

innodb_data_home_dir

innodb_file_per_table

innodb_flush_log_at_trx_commit

innodb_ft_max_token_size

innodb_ft_min_token_size

innodb_ft_num_word_optimize

innodb_ft_sort_pll_degree

innodb_online_alter_log_max_size

innodb_optimize_fulltext_only

innodb_page_size

innodb_purge_batch_size

innodb_purge_threads

innodb_rollback_on_timeout

innodb_rollback_segments

innodb_spin_wait_delay

innodb_strict_mode

innodb_support_xa

innodb_sync_array_size

innodb_sync_spin_loops

innodb_table_locks

innodb_undo_directory

innodb_undo_logs

innodb_undo_tablespaces

lc_time_names

lower_case_table_names

master-info-repository

master_verify_checksum

server_audit_events

server_audit_excl_users

server_audit_incl_users

server_audit_logging

server_id

skip-character-set-client-handshake

skip_name_resolve

sync_frm

time_zone

实例级参数

下表显示了适用于 Aurora MySQL 数据库集群中特定数据库实例的所有参数。

参数名称 可修改 备注

allow-suspicious-udfs

aurora_lab_mode

有关更多信息,请参阅Amazon Aurora MySQL 实验室模式

aurora_oom_response

autocommit

automatic_sp_privileges

back_log

basedir

binlog_cache_size

binlog_max_flush_queue_time

binlog_order_commits

binlog_stmt_cache_size

bulk_insert_buffer_size

concurrent_insert

connect_timeout

core-file

datadir

default_time_zone

default_tmp_storage_engine

default_week_format

delay_key_write

delayed_insert_limit

delayed_insert_timeout

delayed_queue_size

div_precision_increment

end_markers_in_json

enforce_gtid_consistency

eq_range_index_dive_limit

event_scheduler

explicit_defaults_for_timestamp

flush

flush_time

ft_boolean_syntax

ft_max_word_len

ft_min_word_len

ft_query_expansion_limit

ft_stopword_file

general_log

general_log_file

group_concat_max_len

gtid-mode

host_cache_size

init_connect

innodb_adaptive_hash_index

innodb_adaptive_max_sleep_delay

innodb_autoextend_increment

innodb_buffer_pool_dump_at_shutdown

innodb_buffer_pool_dump_now

innodb_buffer_pool_filename

innodb_buffer_pool_load_abort

innodb_buffer_pool_load_at_startup

innodb_buffer_pool_load_now

innodb_buffer_pool_size

innodb_change_buffer_max_size

innodb_compression_failure_threshold_pct

innodb_compression_level

innodb_compression_pad_pct_max

innodb_concurrency_tickets

innodb_file_format

innodb_flush_log_at_timeout

innodb_flushing_avg_loops

innodb_force_load_corrupted

innodb_ft_aux_table

innodb_ft_cache_size

innodb_ft_enable_stopword

innodb_ft_server_stopword_table

innodb_ft_user_stopword_table

innodb_large_prefix

innodb_lock_wait_timeout

innodb_log_compressed_pages

innodb_lru_scan_depth

innodb_max_purge_lag

innodb_max_purge_lag_delay

innodb_monitor_disable

innodb_monitor_enable

innodb_monitor_reset

innodb_monitor_reset_all

innodb_old_blocks_pct

innodb_old_blocks_time

innodb_open_files

innodb_print_all_deadlocks

innodb_random_read_ahead

innodb_read_ahead_threshold

innodb_read_io_threads

innodb_read_only

innodb_replication_delay

innodb_sort_buffer_size

innodb_stats_auto_recalc

innodb_stats_method

innodb_stats_on_metadata

innodb_stats_persistent

innodb_stats_persistent_sample_pages

innodb_stats_transient_sample_pages

innodb_thread_concurrency

innodb_thread_sleep_delay

interactive_timeout

join_buffer_size

keep_files_on_create

key_buffer_size

key_cache_age_threshold

key_cache_block_size

key_cache_division_limit

local_infile

lock_wait_timeout

log-bin

log_bin_trust_function_creators

log_bin_use_v1_row_events

log_error

log_output

log_queries_not_using_indexes

log_slave_updates

log_throttle_queries_not_using_indexes

log_warnings

long_query_time

low_priority_updates

max_allowed_packet

max_binlog_cache_size

max_binlog_size

max_binlog_stmt_cache_size

max_connect_errors

max_connections

有关更多信息,请参阅至 Aurora MySQL 数据库实例的最大连接数

max_delayed_threads

max_error_count

max_heap_table_size

max_insert_delayed_threads

max_join_size

max_length_for_sort_data

max_prepared_stmt_count

max_seeks_for_key

max_sort_length

max_sp_recursion_depth

max_tmp_tables

max_user_connections

max_write_lock_count

metadata_locks_cache_size

min_examined_row_limit

myisam_data_pointer_size

myisam_max_sort_file_size

myisam_mmap_size

myisam_sort_buffer_size

myisam_stats_method

myisam_use_mmap

net_buffer_length

net_read_timeout

net_retry_count

net_write_timeout

old-style-user-limits

old_passwords

optimizer_prune_level

optimizer_search_depth

optimizer_switch

optimizer_trace

optimizer_trace_features

optimizer_trace_limit

optimizer_trace_max_mem_size

optimizer_trace_offset

performance_schema

pid_file

plugin_dir

port

preload_buffer_size

profiling_history_size

query_alloc_block_size

query_cache_limit

query_cache_min_res_unit

query_cache_size

query_cache_type

query_cache_wlock_invalidate

query_prealloc_size

range_alloc_block_size

read_buffer_size

read_only

read_rnd_buffer_size

relay-log

relay_log_info_repository

relay_log_recovery

safe-user-create

secure_auth

secure_file_priv

skip-slave-start

skip_external_locking

skip_show_database

slave_checkpoint_group

slave_checkpoint_period

slave_parallel_workers

slave_pending_jobs_size_max

slave_sql_verify_checksum

slow_launch_time

slow_query_log

slow_query_log_file

socket

sort_buffer_size

sql_mode

sql_select_limit

stored_program_cache

sync_binlog

sync_master_info

sync_relay_log

sync_relay_log_info

sysdate-is-now

table_cache_element_entry_ttl

table_definition_cache

table_open_cache

table_open_cache_instances

temp-pool

thread_handling

thread_stack

timed_mutexes

tmp_table_size

tmpdir

transaction_alloc_block_size

transaction_prealloc_size

tx_isolation

updatable_views_with_limit

validate-password

validate_password_dictionary_file

validate_password_length

validate_password_mixed_case_count

validate_password_number_count

validate_password_policy

validate_password_special_char_count

wait_timeout

不适用的 MySQL 参数和状态变量

由于 Aurora MySQL 与 MySQL 之间存在架构差异,某些 MySQL 参数和状态变量不适用于 Aurora MySQL。

以下 MySQL 参数不适用于 Aurora MySQL:

  • innodb_adaptive_flushing

  • innodb_adaptive_flushing_lwm

  • innodb_checksum_algorithm

  • innodb_doublewrite

  • innodb_flush_method

  • innodb_flush_neighbors

  • innodb_io_capacity

  • innodb_io_capacity_max

  • innodb_log_buffer_size

  • innodb_log_file_size

  • innodb_log_files_in_group

  • innodb_max_dirty_pages_pct

  • innodb_use_native_aio

  • innodb_write_io_threads

  • thread_cache_size

以下 MySQL 状态变量不适用于 Aurora MySQL:

  • innodb_buffer_pool_bytes_dirty

  • innodb_buffer_pool_pages_dirty

  • innodb_buffer_pool_pages_flushed

注意

这些列表并不详尽。

Aurora MySQL 事件

以下是 Aurora MySQL 的一些常见等待事件。

注意

有关 MySQL 等待事件中使用的命名约定的信息,请参阅 MySQL 文档中的性能架构测试命名约定

io/aurora_redo_log_flush

在该等待事件中,某个会话正等待数据写入 Aurora 存储。通常,该等待事件针对 Aurora MySQL 中的写入 I/O 操作。

io/aurora_respond_to_client

在该等待事件中,线程正将结果集返回给客户端。

io/file/csv/data

在该等待事件中,有正写入 CSV 表的线程。检查您的 CSV 表使用情况。此事件的典型原因是在表上设置 log_output。

io/file/innodb/innodb_data_file

在该等待事件中,有正等待至存储的 I/O 操作的线程。此事件在 I/O 密集型工作负载中更普遍。显示该等待事件较大部分的 SQL 语句可能正运行磁盘密集型查询或可能正请求无法通过 InnoDB 缓冲池得到满足的数据。应检查查询计划和缓存命中率。有关更多信息,请参阅 MySQL 文档中的缓冲和缓存

io/file/sql/binlog

在该等待事件中,有等待正写入磁盘的二进制日志文件的线程。

io/socket/sql/client_connection

在该等待事件中,线程正处理新连接。

io/table/sql/handler

这是表 I/O 等待事件。通常,这些类型的事件可以后接嵌套事件(如文件 I/O 事件)。有关性能架构中的“原子”和“分子”事件的更多信息,请参阅 MySQL 文档中的性能架构原子和分子事件

lock/table/sql/handler

该等待事件是表锁定等待事件处理程序。有关性能架构中的“原子”和“分子”事件的更多信息,请参阅 MySQL 文档中的性能架构原子和分子事件

synch/cond/mysys/my_thread_var::suspend

在该等待事件中,将在线程等待条件时暂停线程。例如,此事件发生在线程等待表级别锁定时。建议调查工作负载,以了解哪些线程可能正获取数据库实例上的表锁定。有关 MySQL 中的表锁定的更多信息,请参阅 MySQL 文档中的表锁定问题

synch/cond/sql/MDL_context::COND_wait_status

在该等待事件中,有正等待表元数据锁定的线程。有关更多信息,请参阅 MySQL 文档中的优化锁定操作

synch/cond/sql/MYSQL_BIN_LOG::COND_done

在该等待事件中,有等待正写入磁盘的二进制日志文件的线程。二进制日志记录争用可能出现在更改率非常高的数据库上。

synch/mutex/innodb/aurora_lock_thread_slot_futex

在该等待事件中,一个线程正在等待 InnoDB 记录锁定。如果看到该事件,请检查数据库是否存在发生冲突的工作负载。有关更多信息,请参阅 MySQL 文档中的 InnoDB 锁定

synch/mutex/innodb/buf_pool_mutex

在该等待事件中,线程已在 InnoDB 缓冲池上获取锁定。

synch/mutex/sql/LOCK_open

在该等待事件中,LOCK_open 正用于保护数据字典中的各个对象。该等待事件指示有正等待获取这些锁定的线程。通常,此事件由数据字典争用导致。

synch/mutex/sql/LOCK_table_cache

在该等待事件中,有正等待在表缓存实例上获取锁定的线程。有关更多信息,请参阅 MySQL 文档中的 MySQL 如何打开和关闭表

synch/mutex/sql/LOG

在该等待事件中,有正等待日志锁定的线程。例如,线程可能等待锁定写入慢速查询日志文件。

synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit

在该等待事件中,有正等待带着提交到二进制日志的意图获取锁定的线程。二进制日志记录争用可能出现在更改率非常高的数据库上。根据您的 MySQL 版本,有特定锁定用于保护二进制日志的一致性和持续性。在 RDS MySQL 中,二进制日志用于复制和自动备份过程。在 Aurora MySQL 中,本机复制或备份不需要二进制日志。它们默认情况下处于禁用状态,但可以启用或用于外部复制或更改数据捕获。有关更多信息,请参阅 MySQL 文档中的二进制日志

synch/mutex/sql/MYSQL_BIN_LOG::LOCK_log

在该等待事件中,线程正积极锁定二进制日志文件。二进制日志记录争用可能出现在更改率非常高的数据库上。根据您的 MySQL 版本,有特定锁定用于保护二进制日志的一致性和持续性。

synch/rwlock/innodb/dict

在该等待事件中,有正等待 InnoDB 数据字典中保留的 rwlock 的线程。

synch/rwlock/innodb/dict sys RW lock

在该等待事件中,有正等待 InnoDB 数据字典中保留的 rwlock 的线程。

synch/rwlock/innodb/dict_operation_lock

在该等待事件中,有在 InnoDB 数据字典操作中保留锁定的线程。