Aurora MySQL configuration parameters - Amazon Aurora
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Aurora MySQL configuration parameters

You manage your Amazon Aurora MySQL DB cluster in the same way that you manage other Amazon RDS DB instances, by using parameters in a DB parameter group. Amazon Aurora differs from other DB engines in that you have a DB cluster that contains multiple DB instances. As a result, some of the parameters that you use to manage your Aurora MySQL DB cluster apply to the entire cluster. Other parameters apply only to a particular DB instance in the DB cluster.

To manage cluster-level parameters, use DB cluster parameter groups. To manage instance-level parameters, use DB parameter groups. Each DB instance in an Aurora MySQL DB cluster is compatible with the MySQL database engine. However, you apply some of the MySQL database engine parameters at the cluster level, and you manage these parameters using DB cluster parameter groups. You can't find cluster-level parameters in the DB parameter group for an instance in an Aurora DB cluster. A list of cluster-level parameters appears later in this topic.

You can manage both cluster-level and instance-level parameters using the Amazon Web Services Management Console, the Amazon CLI, or the Amazon RDS API. You use separate commands for managing cluster-level parameters and instance-level parameters. For example, you can use the modify-db-cluster-parameter-group CLI command to manage cluster-level parameters in a DB cluster parameter group. You can use the modify-db-parameter-group CLI command to manage instance-level parameters in a DB parameter group for a DB instance in a DB cluster.

You can view both cluster-level and instance-level parameters in the console, or by using the CLI or RDS API. For example, you can use the describe-db-cluster-parameters Amazon CLI command to view cluster-level parameters in a DB cluster parameter group. You can use the describe-db-parameters CLI command to view instance-level parameters in a DB parameter group for a DB instance in a DB cluster.

Note

Each default parameter group contains the default values for all parameters in the parameter group. If the parameter has "engine default" for this value, see the version-specific MySQL or PostgreSQL documentation for the actual default value.

Unless otherwise noted, parameters listed in the following tables are valid for Aurora MySQL versions 2 and 3.

For more information about DB parameter groups, see Parameter groups for Amazon Aurora. For rules and restrictions for Aurora Serverless v1 clusters, see Parameter groups for Aurora Serverless v1.

Cluster-level parameters

The following table shows all of the parameters that apply to the entire Aurora MySQL DB cluster.

Parameter name Modifiable Notes

aurora_binlog_read_buffer_size

Yes

Only affects clusters that use binary log (binlog) replication. For information about binlog replication, see Replication between Aurora and MySQL or between Aurora and another Aurora DB cluster (binary log replication). Removed from Aurora MySQL version 3.

aurora_binlog_replication_max_yield_seconds

Yes

Only affects clusters that use binary log (binlog) replication. For information about binlog replication, see Replication between Aurora and MySQL or between Aurora and another Aurora DB cluster (binary log replication).

aurora_binlog_replication_sec_index_parallel_workers

Yes

Sets the total number of parallel threads available to apply secondary index changes when replicating transactions for large tables with more than one secondary index. The parameter is set to 0 (disabled) by default.

This parameter is available in Aurora MySQL version 306 and higher. For more information, see Optimizing binary log replication for Aurora MySQL.

aurora_binlog_use_large_read_buffer

Yes

Only affects clusters that use binary log (binlog) replication. For information about binlog replication, see Replication between Aurora and MySQL or between Aurora and another Aurora DB cluster (binary log replication). Removed from Aurora MySQL version 3.

aurora_disable_hash_join

Yes

Set this parameter to ON to turn off hash join optimization in Aurora MySQL version 2.09 or higher. It isn't supported for version 3. For more information, see Parallel query for Amazon Aurora MySQL.

aurora_enable_replica_log_compression

Yes

For more information, see Performance considerations for Amazon Aurora MySQL replication. Doesn't apply to clusters that are part of an Aurora global database. Removed from Aurora MySQL version 3.

aurora_enable_repl_bin_log_filtering

Yes

For more information, see Performance considerations for Amazon Aurora MySQL replication. Doesn't apply to clusters that are part of an Aurora global database. Removed from Aurora MySQL version 3.

aurora_enable_staggered_replica_restart

Yes

This setting is available in Aurora MySQL version 3, but it isn't used.

aurora_enable_zdr

Yes

This setting is turned on by default in Aurora MySQL 2.10 and higher. For more information, see Zero-downtime restart (ZDR) for Amazon Aurora MySQL.

aurora_enhanced_binlog

Yes

Set the value of this parameter to 1 to turn on the enhanced binlog in Aurora MySQL version 3.03.1 and higher. For more information, see Setting up enhanced binlog for Aurora MySQL.

aurora_jemalloc_background_thread

Yes

Use this parameter to enable a background thread to perform memory maintenance operations. The allowed values are 0 (disabled) and 1 (enabled). The default value is 0.

This parameter applies to Aurora MySQL version 3.05 and higher.

aurora_jemalloc_dirty_decay_ms

Yes

Use this parameter to retain freed memory for a certain amount of time (in milliseconds). Retaining memory allows for faster reuse. The allowed values are 018446744073709551615. The default value is 10000 (10 seconds).

You can use a shorter delay to help avoid out-of-memory issues, at the expense of slower performance.

This parameter applies to Aurora MySQL version 3.05 and higher.

aurora_jemalloc_tcache_enabled

Yes

Use this parameter to serve small memory requests (up to 32 KiB) in a thread local cache, bypassing the memory arenas. The allowed values are 0 (disabled) and 1 (enabled). The default value is 1.

This parameter applies to Aurora MySQL version 3.05 and higher.

aurora_load_from_s3_role

Yes

For more information, see Loading data into an Amazon Aurora MySQL DB cluster from text files in an Amazon S3 bucket. Currently not available in Aurora MySQL version 3. Use aws_default_s3_role.

aurora_mask_password_hashes_type

Yes

This setting is turned on by default in Aurora MySQL 2.11 and higher.

Use this setting to mask Aurora MySQL password hashes in the slow query and audit logs. The allowed values are 0 and 1 (default). When set to 1, passwords are logged as <secret>. When set to 0, passwords are logged as hash (#) values.

aurora_select_into_s3_role

Yes

For more information, see Saving data from an Amazon Aurora MySQL DB cluster into text files in an Amazon S3 bucket. Currently not available in Aurora MySQL version 3. Use aws_default_s3_role.

authentication_kerberos_caseins_cmp

Yes

Controls case-insensitive username comparison for the authentication_kerberos plugin. Set it to true for case-insensitive comparison. By default, case-sensitive comparison is used (false). For more information, see Using Kerberos authentication for Aurora MySQL.

This parameter is available in Aurora MySQL version 3.03 and higher.

auto_increment_increment

Yes

auto_increment_offset

Yes

aws_default_lambda_role

Yes

For more information, see Invoking a Lambda function from an Amazon Aurora MySQL DB cluster.

aws_default_s3_role

Yes

Used when invoking the LOAD DATA FROM S3, LOAD XML FROM S3, or SELECT INTO OUTFILE S3 statement from your DB cluster.

In Aurora MySQL version 2, the IAM role specified in this parameter is used if an IAM role isn't specified for aurora_load_from_s3_role or aurora_select_into_s3_role for the appropriate statement.

In Aurora MySQL version 3, the IAM role specified for this parameter is always used.

For more information, see Associating an IAM role with an Amazon Aurora MySQL DB cluster.

binlog_backup

Yes

Set the value of this parameter to 0 to turn on the enhanced binlog in Aurora MySQL version 3.03.1 and higher. You can turn off this parameter only when you use enhanced binlog. For more information, see Setting up enhanced binlog for Aurora MySQL.

binlog_checksum

Yes

The Amazon CLI and RDS API report a value of None if this parameter isn't set. In that case, Aurora MySQL uses the engine default value, which is CRC32. This is different from the explicit setting of NONE, which turns off the checksum.

binlog-do-db

Yes

This parameter applies to Aurora MySQL version 3.

binlog_format

Yes

For more information, see Replication between Aurora and MySQL or between Aurora and another Aurora DB cluster (binary log replication).

binlog_group_commit_sync_delay

Yes

This parameter applies to Aurora MySQL version 3.

binlog_group_commit_sync_no_delay_count

Yes

This parameter applies to Aurora MySQL version 3.

binlog-ignore-db

Yes

This parameter applies to Aurora MySQL version 3.

binlog_replication_globaldb

Yes

Set the value of this parameter to 0 to turn on the enhanced binlog in Aurora MySQL version 3.03.1 and higher. You can turn off this parameter only when you use enhanced binlog. For more information, see Setting up enhanced binlog for Aurora MySQL.

binlog_row_image

No

binlog_row_metadata

Yes

This parameter applies to Aurora MySQL version 3.

binlog_row_value_options

Yes

This parameter applies to Aurora MySQL version 3.

binlog_rows_query_log_events

Yes

binlog_transaction_compression

Yes

This parameter applies to Aurora MySQL version 3.

binlog_transaction_compression_level_zstd

Yes

This parameter applies to Aurora MySQL version 3.

binlog_transaction_dependency_history_size

Yes

This parameter sets an upper limit on the number of row hashes that are kept in memory and used for looking up the transaction that last modified a given row. After this number of hashes has been reached, the history is purged.

This parameter applies to Aurora MySQL version 2.12 and higher, and version 3.

binlog_transaction_dependency_tracking

Yes

This parameter applies to Aurora MySQL version 3.

character-set-client-handshake

Yes

character_set_client

Yes

character_set_connection

Yes

character_set_database

Yes

The character set used by the default database. The default value is utf8mb4.

character_set_filesystem

Yes

character_set_results

Yes

character_set_server

Yes

collation_connection

Yes

collation_server

Yes

completion_type

Yes

default_storage_engine

No

Aurora MySQL clusters use the InnoDB storage engine for all of your data.

enforce_gtid_consistency

Sometimes

Modifiable in Aurora MySQL version 2 and higher.

event_scheduler

Yes

Indicates the status of the Event Scheduler.

Modifiable only at the cluster level in Aurora MySQL version 3.

gtid-mode

Sometimes

Modifiable in Aurora MySQL version 2 and higher.

information_schema_stats_expiry

Yes

The number of seconds after which the MySQL database server fetches data from the storage engine and replaces the data in the cache. The allowed values are 031536000.

This parameter applies to Aurora MySQL version 3.

init_connect

Yes

The command to be run by the server for each client that connects. Use double quotes (") for settings to avoid connection failures, for example:

SET optimizer_switch="hash_join=off"

In Aurora MySQL version 3, this parameter doesn't apply for users who have the CONNECTION_ADMIN privilege. This includes the Aurora master user. For more information, see Role-based privilege model.

innodb_adaptive_hash_index

Yes

You can modify this parameter at the DB cluster level in Aurora MySQL versions 2 and 3.

The Adaptive Hash Index isn't supported on reader DB instances.

innodb_aurora_instant_alter_column_allowed

Yes

Controls whether the INSTANT algorithm can be used for ALTER COLUMN operations at the global level. The allowed values are the following:

  • 0 – The INSTANT algorithm isn't allowed for ALTER COLUMN operations (OFF). Reverts to other algorithms.

  • 1 – The INSTANT algorithm is allowed for ALTER COLUMN operations (ON). This is the default value.

For more information, see Column Operations in the MySQL documentation.

This parameter applies to Aurora MySQL version 3.05 and higher.

innodb_autoinc_lock_mode

Yes

innodb_checksums

No

Removed from Aurora MySQL version 3.

innodb_cmp_per_index_enabled

Yes

innodb_commit_concurrency

Yes

innodb_data_home_dir

No

Aurora MySQL uses managed instances where you don't access the file system directly.

innodb_deadlock_detect

Yes

This option is used to disable deadlock detection in Aurora MySQL version 2.11 and higher and version 3.

On high-concurrency systems, deadlock detection can cause a slowdown when numerous threads wait for the same lock. Consult the MySQL documentation for more information on this parameter.

innodb_default_row_format

Yes

This parameter defines the default row format for InnoDB tables (including user-created InnoDB temporary tables). It applies to Aurora MySQL versions 2 and 3.

Its value can be DYNAMIC, COMPACT, or REDUNDANT.

innodb_file_per_table

Yes

This parameter affects how table storage is organized. For more information, see Storage scaling.

innodb_flush_log_at_trx_commit

Yes

We highly recommend that you use the default value of 1.

In Aurora MySQL version 3, before you can set this parameter to a value other than 1, you must set the value of innodb_trx_commit_allow_data_loss to 1.

For more information, see Configuring how frequently the log buffer is flushed.

innodb_ft_max_token_size

Yes

innodb_ft_min_token_size

Yes

innodb_ft_num_word_optimize

Yes

innodb_ft_sort_pll_degree

Yes

innodb_online_alter_log_max_size

Yes

innodb_optimize_fulltext_only

Yes

innodb_page_size

No

innodb_print_all_deadlocks

Yes

When turned on, records information about all InnoDB deadlocks in the Aurora MySQL error log. For more information, see Minimizing and troubleshooting Aurora MySQL deadlocks.

innodb_purge_batch_size

Yes

innodb_purge_threads

Yes

innodb_rollback_on_timeout

Yes

innodb_rollback_segments

Yes

innodb_spin_wait_delay

Yes

innodb_strict_mode

Yes

innodb_support_xa

Yes

Removed from Aurora MySQL version 3.

innodb_sync_array_size

Yes

innodb_sync_spin_loops

Yes

innodb_stats_include_delete_marked

Yes

When this parameter is enabled, InnoDB includes delete-marked records when calculating persistent optimizer statistics.

This parameter applies to Aurora MySQL version 2.12 and higher, and version 3.

innodb_table_locks

Yes

innodb_trx_commit_allow_data_loss

Yes

In Aurora MySQL version 3, set the value of this parameter to 1 so that you can change the value of innodb_flush_log_at_trx_commit.

The default value of innodb_trx_commit_allow_data_loss is 0.

For more information, see Configuring how frequently the log buffer is flushed.

innodb_undo_directory

No

Aurora MySQL uses managed instances where you don't access the file system directly.

internal_tmp_disk_storage_engine

Yes

Controls which in-memory storage engine is used for internal temporary tables. Allowed values are INNODB and MYISAM.

This parameter applies to Aurora MySQL version 2.

internal_tmp_mem_storage_engine

Yes

Controls which in-memory storage engine is used for internal temporary tables. Allowed values are MEMORY and TempTable.

This parameter applies to Aurora MySQL version 3.

key_buffer_size

Yes

Key cache for MyISAM tables. For more information, see keycache->cache_lock mutex.

lc_time_names

Yes

log_error_suppression_list

Yes

Specifies a list of error codes that aren't logged in the MySQL error log. This allows you to ignore certain noncritical error conditions to help keep your error logs clean. For more information, see log_error_suppression_list in the MySQL documentation.

This parameter applies to Aurora MySQL version 3.03 and higher.

low_priority_updates

Yes

INSERT, UPDATE, DELETE, and LOCK TABLE WRITE operations wait until there's no pending SELECT operation. This parameter affects only storage engines that use only table-level locking (MyISAM, MEMORY, MERGE).

This parameter applies to Aurora MySQL version 3.

lower_case_table_names

Yes (Aurora MySQL version 2)

Only at cluster creation time (Aurora MySQL version 3)

In Aurora MySQL version 2.10 and higher 2.x versions, make sure to reboot all reader instances after changing this setting and rebooting the writer instance. For details, see Rebooting an Aurora cluster with read availability.

In Aurora MySQL version 3, the value of this parameter is set permanently at the time the cluster is created. If you use a nondefault value for this option, set up your Aurora MySQL version 3 custom parameter group before upgrading, and specify the parameter group during the snapshot restore operation that creates the version 3 cluster.

With an Aurora global database based on Aurora MySQL, you can't perform an in-place upgrade from Aurora MySQL version 2 to version 3 if the lower_case_table_names parameter is turned on. For more information on the methods that you can use, see Major version upgrades.

master-info-repository

Yes

Removed from Aurora MySQL version 3.

master_verify_checksum

Yes

Aurora MySQL version 2. Use source_verify_checksum in Aurora MySQL version 3.

max_delayed_threads

Yes

Sets the maximum number of threads to handle INSERT DELAYED statements.

This parameter applies to Aurora MySQL version 3.

max_error_count

Yes

The maximum number of error, warning, and note messages to be stored for display.

This parameter applies to Aurora MySQL version 3.

max_execution_time

Yes

The timeout for running SELECT statements, in milliseconds. The value can be from 018446744073709551615. When set to 0, there is no timeout.

For more information, see max_execution_time in the MySQL documentation.

min_examined_row_limit

Yes

Use this parameter to prevent queries that examine fewer than the specified number of rows from being logged.

This parameter applies to Aurora MySQL version 3.

partial_revokes

No

This parameter applies to Aurora MySQL version 3.

preload_buffer_size

Yes

The size of the buffer that's allocated when preloading indexes.

This parameter applies to Aurora MySQL version 3.

query_cache_type

Yes

Removed from Aurora MySQL version 3.

read_only

Yes

When this parameter is turned on, the server permits no updates except from those performed by replica threads.

For Aurora MySQL version 2, valid values are the following:

  • 0OFF

  • 1ON

  • {TrueIfReplica}ON for read replicas. This is the default value.

  • {TrueIfClusterReplica}ON for replica clusters such as cross-Region read replicas, secondary clusters in an Aurora global database, and blue/green deployments.

For Aurora MySQL version 3, valid values are the following:

  • 0OFF. This is the default value.

  • 1ON

  • {TrueIfClusterReplica}ON for replica clusters such as cross-Region read replicas, secondary clusters in an Aurora global database, and blue/green deployments.

In Aurora MySQL version 3, this parameter doesn't apply for users who have the CONNECTION_ADMIN privilege. This includes the Aurora master user. For more information, see Role-based privilege model.

relay-log-space-limit

Yes

This parameter applies to Aurora MySQL version 3.

replica_parallel_type

Yes

This parameter enables parallel execution on the replica of all uncommitted threads already in the prepare phase, without violating consistency. It applies to Aurora MySQL version 3.

In Aurora MySQL version 3.03.* and lower, the default value is DATABASE. In Aurora MySQL version 3.04 and higher, the default value is LOGICAL_CLOCK.

replica_preserve_commit_order

Yes

This parameter applies to Aurora MySQL version 3.

replica_transaction_retries

Yes

This parameter applies to Aurora MySQL version 3.

replica_type_conversions

Yes

This parameter determines the type conversions used on replicas. The allowed values are: ALL_LOSSY, ALL_NON_LOSSY, ALL_SIGNED, and ALL_UNSIGNED. For more information, see Replication with differing table definitions on source and replica in the MySQL documentation.

This parameter applies to Aurora MySQL version 3.

replicate-do-db

Yes

This parameter applies to Aurora MySQL version 3.

replicate-do-table

Yes

This parameter applies to Aurora MySQL version 3.

replicate-ignore-db

Yes

This parameter applies to Aurora MySQL version 3.

replicate-ignore-table

Yes

This parameter applies to Aurora MySQL version 3.

replicate-wild-do-table

Yes

This parameter applies to Aurora MySQL version 3.

replicate-wild-ignore-table

Yes

This parameter applies to Aurora MySQL version 3.

require_secure_transport

Yes

This parameter applies to Aurora MySQL version 2 and 3. For more information, see TLS connections to Aurora MySQL DB clusters.

rpl_read_size

Yes

This parameter applies to Aurora MySQL version 3.

server_audit_cw_upload

No

This parameter has been deprecated in Aurora MySQL. Use server_audit_logs_upload.

For more information, see Publishing Amazon Aurora MySQL logs to Amazon CloudWatch Logs.

server_audit_events

Yes

For more information, see Using Advanced Auditing with an Amazon Aurora MySQL DB cluster.

server_audit_excl_users

Yes

For more information, see Using Advanced Auditing with an Amazon Aurora MySQL DB cluster.

server_audit_incl_users

Yes

For more information, see Using Advanced Auditing with an Amazon Aurora MySQL DB cluster.

server_audit_logging

Yes

For instructions on uploading the logs to Amazon CloudWatch Logs, see Publishing Amazon Aurora MySQL logs to Amazon CloudWatch Logs.

server_audit_logs_upload

Yes

You can publish audit logs to CloudWatch Logs by enabling Advanced Auditing and setting this parameter to 1. The default for the server_audit_logs_upload parameter is 0.

For more information, see Publishing Amazon Aurora MySQL logs to Amazon CloudWatch Logs.

server_id

No

skip-character-set-client-handshake

Yes

skip_name_resolve

No

slave-skip-errors

Yes

Only applies to Aurora MySQL version 2 clusters, with MySQL 5.7 compatibility.

source_verify_checksum

Yes

This parameter applies to Aurora MySQL version 3.

sync_frm

Yes

Removed from Aurora MySQL version 3.

thread_cache_size

Yes The number of threads to be cached. This parameter applies to Aurora MySQL versions 2 and 3.

time_zone

Yes

By default, the time zone for an Aurora DB cluster is Universal Time Coordinated (UTC). You can set the time zone for instances in your DB cluster to the local time zone for your application instead. For more information, see Local time zone for Amazon Aurora DB clusters.

tls_version

Yes

For more information, see TLS versions for Aurora MySQL.

Instance-level parameters

The following table shows all of the parameters that apply to a specific DB instance in an Aurora MySQL DB cluster.

Parameter name Modifiable Notes

activate_all_roles_on_login

Yes

This parameter applies to Aurora MySQL version 3.

allow-suspicious-udfs

No

aurora_disable_hash_join

Yes

Set this parameter to ON to turn off hash join optimization in Aurora MySQL version 2.09 or higher. It isn't supported for version 3. For more information, see Parallel query for Amazon Aurora MySQL.

aurora_lab_mode

Yes

For more information, see Amazon Aurora MySQL lab mode. Removed from Aurora MySQL version 3.

aurora_oom_response

Yes

This parameter is supported for Aurora MySQL versions 2 and 3. For more information, see Troubleshooting out-of-memory issues for Aurora MySQL databases.

aurora_parallel_query

Yes

Set to ON to turn on parallel query in Aurora MySQL version 2.09 or higher. The old aurora_pq parameter isn't used in these versions. For more information, see Parallel query for Amazon Aurora MySQL.

aurora_pq

Yes

Set to OFF to turn off parallel query for specific DB instances in Aurora MySQL versions before 2.09. In version 2.09 or higher, turn parallel query on and off with aurora_parallel_query instead. For more information, see Parallel query for Amazon Aurora MySQL.

aurora_read_replica_read_committed

Yes

Enables READ COMMITTED isolation level for Aurora Replicas and changes the isolation behavior to reduce purge lag during long-running queries. Enable this setting only if you understand the behavior changes and how they affect your query results. For example, this setting uses less-strict isolation than the MySQL default. When it's enabled, long-running queries might see more than one copy of the same row because Aurora reorganizes the table data while the query is running. For more information, see Aurora MySQL isolation levels.

aurora_tmptable_enable_per_table_limit

Yes

Determines whether the tmp_table_size parameter controls the maximum size of in-memory temporary tables created by the TempTable storage engine in Aurora MySQL version 3.04 and higher.

For more information, see Limiting the size of internal, in-memory temporary tables.

aurora_use_vector_instructions

Yes

When this parameter is enabled, Aurora MySQL uses optimized vector processing instructions provided by modern CPUs to improve performance on I/O-intensive workloads.

This setting is enabled by default in Aurora MySQL version 3.05 and higher.

autocommit

Yes

automatic_sp_privileges

Yes

back_log

Yes

basedir

No

Aurora MySQL uses managed instances where you don't access the file system directly.

binlog_cache_size

Yes

binlog_max_flush_queue_time

Yes

binlog_order_commits

Yes

binlog_stmt_cache_size

Yes

binlog_transaction_compression

Yes

This parameter applies to Aurora MySQL version 3.

binlog_transaction_compression_level_zstd

Yes

This parameter applies to Aurora MySQL version 3.

bulk_insert_buffer_size

Yes

concurrent_insert

Yes

connect_timeout

Yes

core-file

No

Aurora MySQL uses managed instances where you don't access the file system directly.

datadir

No

Aurora MySQL uses managed instances where you don't access the file system directly.

default_authentication_plugin

No

This parameter applies to Aurora MySQL version 3.

default_time_zone

No

default_tmp_storage_engine

Yes

The default storage engine for temporary tables.

default_week_format

Yes

delay_key_write

Yes

delayed_insert_limit

Yes

delayed_insert_timeout

Yes

delayed_queue_size

Yes

div_precision_increment

Yes

end_markers_in_json

Yes

eq_range_index_dive_limit

Yes

event_scheduler

Sometimes

Indicates the status of the Event Scheduler.

Modifiable only at the cluster level in Aurora MySQL version 3.

explicit_defaults_for_timestamp

Yes

flush

No

flush_time

Yes

ft_boolean_syntax

No

ft_max_word_len

Yes

ft_min_word_len

Yes

ft_query_expansion_limit

Yes

ft_stopword_file

Yes

general_log

Yes

For instructions on uploading the logs to CloudWatch Logs, see Publishing Amazon Aurora MySQL logs to Amazon CloudWatch Logs.

general_log_file

No

Aurora MySQL uses managed instances where you don't access the file system directly.

group_concat_max_len

Yes

host_cache_size

Yes

init_connect

Yes

The command to be run by the server for each client that connects. Use double quotes (") for settings to avoid connection failures, for example:

SET optimizer_switch="hash_join=off"

In Aurora MySQL version 3, this parameter doesn't apply for users who have the CONNECTION_ADMIN privilege, including the Aurora master user. For more information, see Role-based privilege model.

innodb_adaptive_hash_index

Yes

You can modify this parameter at the DB instance level in Aurora MySQL version 2. It's modifiable only at the DB cluster level in Aurora MySQL version 3.

The Adaptive Hash Index isn't supported on reader DB instances.

innodb_adaptive_max_sleep_delay

Yes

Modifying this parameter has no effect because innodb_thread_concurrency is always 0 for Aurora.

innodb_aurora_max_partitions_for_range

Yes

In some cases where persisted statistics aren't available, you can use this parameter to improve the performance of row count estimations on partitioned tables.

You can set it to a value from 0–8192, where the value determines the number of partitions to check during row count estimation. The default value is 0, which estimates using all of the partitions, consistent with default MySQL behavior.

This parameter is available for Aurora MySQL version 3.03.1 and higher.

innodb_autoextend_increment

Yes

innodb_buffer_pool_dump_at_shutdown

No

innodb_buffer_pool_dump_now

No

innodb_buffer_pool_filename

No

innodb_buffer_pool_load_abort

No

innodb_buffer_pool_load_at_startup

No

innodb_buffer_pool_load_now

No

innodb_buffer_pool_size

Yes

The default value is represented by a formula. For details about how the DBInstanceClassMemory value in the formula is calculated, see DB parameter formula variables.

innodb_change_buffer_max_size

No

Aurora MySQL doesn't use the InnoDB change buffer at all.

innodb_compression_failure_threshold_pct

Yes

innodb_compression_level

Yes

innodb_compression_pad_pct_max

Yes

innodb_concurrency_tickets

Yes

Modifying this parameter has no effect, because innodb_thread_concurrency is always 0 for Aurora.

innodb_deadlock_detect

Yes

This option is used to disable deadlock detection in Aurora MySQL version 2.11 and higher and version 3.

On high-concurrency systems, deadlock detection can cause a slowdown when numerous threads wait for the same lock. Consult the MySQL documentation for more information on this parameter.

innodb_file_format

Yes

Removed from Aurora MySQL version 3.

innodb_flushing_avg_loops

No

innodb_force_load_corrupted

No

innodb_ft_aux_table

Yes

innodb_ft_cache_size

Yes

innodb_ft_enable_stopword

Yes

innodb_ft_server_stopword_table

Yes

innodb_ft_user_stopword_table

Yes

innodb_large_prefix

Yes

Removed from Aurora MySQL version 3.

innodb_lock_wait_timeout

Yes

innodb_log_compressed_pages

No

innodb_lru_scan_depth

Yes

innodb_max_purge_lag

Yes

innodb_max_purge_lag_delay

Yes

innodb_monitor_disable

Yes

innodb_monitor_enable

Yes

innodb_monitor_reset

Yes

innodb_monitor_reset_all

Yes

innodb_old_blocks_pct

Yes

innodb_old_blocks_time

Yes

innodb_open_files

Yes

innodb_print_all_deadlocks

Yes

When turned on, records information about all InnoDB deadlocks in the Aurora MySQL error log. For more information, see Minimizing and troubleshooting Aurora MySQL deadlocks.

innodb_random_read_ahead

Yes

innodb_read_ahead_threshold

Yes

innodb_read_io_threads

No

innodb_read_only

No

Aurora MySQL manages the read-only and read/write state of DB instances based on the type of cluster. For example, a provisioned cluster has one read/write DB instance (the primary instance) and any other instances in the cluster are read-only (the Aurora Replicas).

innodb_replication_delay

Yes

innodb_sort_buffer_size

Yes

innodb_stats_auto_recalc

Yes

innodb_stats_method

Yes

innodb_stats_on_metadata

Yes

innodb_stats_persistent

Yes

innodb_stats_persistent_sample_pages

Yes

innodb_stats_transient_sample_pages

Yes

innodb_thread_concurrency

No

innodb_thread_sleep_delay

Yes

Modifying this parameter has no effect because innodb_thread_concurrency is always 0 for Aurora.

interactive_timeout

Yes

Aurora evaluates the minimum value of interactive_timeout and wait_timeout. It then uses that minimum as the timeout to end all idle sessions, both interactive and noninteractive.

internal_tmp_disk_storage_engine

Yes

Controls which in-memory storage engine is used for internal temporary tables. Allowed values are INNODB and MYISAM.

This parameter applies to Aurora MySQL version 2.

internal_tmp_mem_storage_engine

Sometimes

Controls which in-memory storage engine is used for internal temporary tables. Allowed values for writer DB instances are MEMORY and TempTable.

For reader DB instances, this parameter is set to TempTable and can't be modified.

This parameter applies to Aurora MySQL version 3.

join_buffer_size

Yes

keep_files_on_create

Yes

key_buffer_size

Yes

Key cache for MyISAM tables. For more information, see keycache->cache_lock mutex.

key_cache_age_threshold

Yes

key_cache_block_size

Yes

key_cache_division_limit

Yes

local_infile

Yes

lock_wait_timeout

Yes

log-bin

No

Setting binlog_format to STATEMENT, MIXED, or ROW automatically sets log-bin to ON. Setting binlog_format to OFF automatically sets log-bin to OFF. For more information, see Replication between Aurora and MySQL or between Aurora and another Aurora DB cluster (binary log replication).

log_bin_trust_function_creators

Yes

log_bin_use_v1_row_events

Yes

Removed from Aurora MySQL version 3.

log_error

No

log_error_suppression_list

Yes

Specifies a list of error codes that aren't logged in the MySQL error log. This allows you to ignore certain noncritical error conditions to help keep your error logs clean. For more information, see log_error_suppression_list in the MySQL documentation.

This parameter applies to Aurora MySQL version 3.03 and higher.

log_output

Yes

log_queries_not_using_indexes

Yes

log_slave_updates

No

Aurora MySQL version 2. Use log_replica_updates in Aurora MySQL version 3.

log_replica_updates

No

Aurora MySQL version 3

log_throttle_queries_not_using_indexes

Yes

log_warnings

Yes

Removed from Aurora MySQL version 3.

long_query_time

Yes

low_priority_updates

Yes

INSERT, UPDATE, DELETE, and LOCK TABLE WRITE operations wait until there's no pending SELECT operation. This parameter affects only storage engines that use only table-level locking (MyISAM, MEMORY, MERGE).

This parameter applies to Aurora MySQL version 3.

max_allowed_packet

Yes

max_binlog_cache_size

Yes

max_binlog_size

No

max_binlog_stmt_cache_size

Yes

max_connect_errors

Yes

max_connections

Yes

The default value is represented by a formula. For details about how the DBInstanceClassMemory value in the formula is calculated, see DB parameter formula variables. For the default values depending on the instance class, see Maximum connections to an Aurora MySQL DB instance.

max_delayed_threads

Yes

Sets the maximum number of threads to handle INSERT DELAYED statements.

This parameter applies to Aurora MySQL version 3.

max_error_count

Yes

The maximum number of error, warning, and note messages to be stored for display.

This parameter applies to Aurora MySQL version 3.

max_execution_time

Yes

The timeout for running SELECT statements, in milliseconds. The value can be from 018446744073709551615. When set to 0, there is no timeout.

For more information, see max_execution_time in the MySQL documentation.

max_heap_table_size

Yes

max_insert_delayed_threads

Yes

max_join_size

Yes

max_length_for_sort_data

Yes

Removed from Aurora MySQL version 3.

max_prepared_stmt_count

Yes

max_seeks_for_key

Yes

max_sort_length

Yes

max_sp_recursion_depth

Yes

max_tmp_tables

Yes

Removed from Aurora MySQL version 3.

max_user_connections

Yes

max_write_lock_count

Yes

metadata_locks_cache_size

Yes

Removed from Aurora MySQL version 3.

min_examined_row_limit

Yes

Use this parameter to prevent queries that examine fewer than the specified number of rows from being logged.

This parameter applies to Aurora MySQL version 3.

myisam_data_pointer_size

Yes

myisam_max_sort_file_size

Yes

myisam_mmap_size

Yes

myisam_sort_buffer_size

Yes

myisam_stats_method

Yes

myisam_use_mmap

Yes

net_buffer_length

Yes

net_read_timeout

Yes

net_retry_count

Yes

net_write_timeout

Yes

old-style-user-limits

Yes

old_passwords

Yes

Removed from Aurora MySQL version 3.

optimizer_prune_level

Yes

optimizer_search_depth

Yes

optimizer_switch

Yes

For information about Aurora MySQL features that use this switch, see Best practices with Amazon Aurora MySQL.

optimizer_trace

Yes

optimizer_trace_features

Yes

optimizer_trace_limit

Yes

optimizer_trace_max_mem_size

Yes

optimizer_trace_offset

Yes

performance-schema-consumer-events-waits-current

Yes

performance-schema-instrument

Yes

performance_schema

Yes

performance_schema_accounts_size

Yes

performance_schema_consumer_global_instrumentation

Yes

performance_schema_consumer_thread_instrumentation

Yes

performance_schema_consumer_events_stages_current

Yes

performance_schema_consumer_events_stages_history

Yes

performance_schema_consumer_events_stages_history_long

Yes

performance_schema_consumer_events_statements_current

Yes

performance_schema_consumer_events_statements_history

Yes

performance_schema_consumer_events_statements_history_long

Yes

performance_schema_consumer_events_waits_history

Yes

performance_schema_consumer_events_waits_history_long

Yes

performance_schema_consumer_statements_digest

Yes

performance_schema_digests_size

Yes

performance_schema_events_stages_history_long_size

Yes

performance_schema_events_stages_history_size

Yes

performance_schema_events_statements_history_long_size

Yes

performance_schema_events_statements_history_size

Yes

performance_schema_events_transactions_history_long_size

Yes

performance_schema_events_transactions_history_size

Yes

performance_schema_events_waits_history_long_size

Yes

performance_schema_events_waits_history_size

Yes

performance_schema_hosts_size

Yes

performance_schema_max_cond_classes

Yes

performance_schema_max_cond_instances

Yes

performance_schema_max_digest_length

Yes

performance_schema_max_file_classes

Yes

performance_schema_max_file_handles

Yes

performance_schema_max_file_instances

Yes

performance_schema_max_index_stat

Yes

performance_schema_max_memory_classes

Yes

performance_schema_max_metadata_locks

Yes

performance_schema_max_mutex_classes

Yes

performance_schema_max_mutex_instances

Yes

performance_schema_max_prepared_statements_instances

Yes

performance_schema_max_program_instances

Yes

performance_schema_max_rwlock_classes

Yes

performance_schema_max_rwlock_instances

Yes

performance_schema_max_socket_classes

Yes

performance_schema_max_socket_instances

Yes

performance_schema_max_sql_text_length

Yes

performance_schema_max_stage_classes

Yes

performance_schema_max_statement_classes

Yes

performance_schema_max_statement_stack

Yes

performance_schema_max_table_handles

Yes

performance_schema_max_table_instances

Yes

performance_schema_max_table_lock_stat

Yes

performance_schema_max_thread_classes

Yes

performance_schema_max_thread_instances

Yes

performance_schema_session_connect_attrs_size

Yes

performance_schema_setup_actors_size

Yes

performance_schema_setup_objects_size

Yes

performance_schema_show_processlist

Yes

This parameter determines which SHOW PROCESSLIST implementation to use:
  • The default implementation iterates across active threads from within the thread manager while holding a global mutex. This can cause slow performance, especially on busy systems.

  • The alternative SHOW PROCESSLIST implementation is based on the Performance Schema processlist table. This implementation queries active thread data from the Performance Schema rather than the thread manager and doesn't require a mutex.

This parameter applies to Aurora MySQL version 2.12 and higher, and version 3.

performance_schema_users_size

Yes

pid_file

No

plugin_dir

No

Aurora MySQL uses managed instances where you don't access the file system directly.

port

No

Aurora MySQL manages the connection properties and enforces consistent settings for all DB instances in a cluster.

preload_buffer_size

Yes

The size of the buffer that's allocated when preloading indexes.

This parameter applies to Aurora MySQL version 3.

profiling_history_size

Yes

query_alloc_block_size

Yes

query_cache_limit

Yes

Removed from Aurora MySQL version 3.

query_cache_min_res_unit

Yes

Removed from Aurora MySQL version 3.

query_cache_size

Yes

The default value is represented by a formula. For details about how the DBInstanceClassMemory value in the formula is calculated, see DB parameter formula variables.

Removed from Aurora MySQL version 3.

query_cache_type

Yes

Removed from Aurora MySQL version 3.

query_cache_wlock_invalidate

Yes

Removed from Aurora MySQL version 3.

query_prealloc_size

Yes

range_alloc_block_size

Yes

read_buffer_size

Yes

read_only

Yes

When this parameter is turned on, the server permits no updates except from those performed by replica threads.

For Aurora MySQL version 2, valid values are the following:

  • 0OFF

  • 1ON

  • {TrueIfReplica}ON for read replicas. This is the default value.

  • {TrueIfClusterReplica}ON for instances in replica clusters such as cross-Region read replicas, secondary clusters in an Aurora global database, and blue/green deployments.

We recommend that you use the DB cluster parameter group in Aurora MySQL version 2 to make sure that the read_only parameter is applied to new writer instances on failover.

Note

Reader instances are always read only, because Aurora MySQL sets innodb_read_only to 1 on all readers. Therefore, read_only is redundant on reader instances.

Removed at the instance level from Aurora MySQL version 3.

read_rnd_buffer_size

Yes

relay-log

No

relay_log_info_repository

Yes

Removed from Aurora MySQL version 3.

relay_log_recovery

No

replica_checkpoint_group

Yes

Aurora MySQL version 3

replica_checkpoint_period

Yes

Aurora MySQL version 3

replica_parallel_workers

Yes

Aurora MySQL version 3

replica_pending_jobs_size_max

Yes

Aurora MySQL version 3

replica_skip_errors

Yes

Aurora MySQL version 3

replica_sql_verify_checksum

Yes

Aurora MySQL version 3

safe-user-create

Yes

secure_auth

Yes

This parameter is always turned on in Aurora MySQL version 2. Trying to turn it off generates an error.

Removed from Aurora MySQL version 3.

secure_file_priv

No

Aurora MySQL uses managed instances where you don't access the file system directly.

show_create_table_verbosity

Yes

Enabling this variable causes SHOW_CREATE_TABLE to display the ROW_FORMAT regardless of whether it's the default format.

This parameter applies to Aurora MySQL version 2.12 and higher, and version 3.

skip-slave-start

No

skip_external_locking

No

skip_show_database

Yes

slave_checkpoint_group

Yes

Aurora MySQL version 2. Use replica_checkpoint_group in Aurora MySQL version 3.

slave_checkpoint_period

Yes

Aurora MySQL version 2. Use replica_checkpoint_period in Aurora MySQL version 3.

slave_parallel_workers

Yes

Aurora MySQL version 2. Use replica_parallel_workers in Aurora MySQL version 3.

slave_pending_jobs_size_max

Yes

Aurora MySQL version 2. Use replica_pending_jobs_size_max in Aurora MySQL version 3.

slave_sql_verify_checksum

Yes

Aurora MySQL version 2. Use replica_sql_verify_checksum in Aurora MySQL version 3.

slow_launch_time

Yes

slow_query_log

Yes

For instructions on uploading the logs to CloudWatch Logs, see Publishing Amazon Aurora MySQL logs to Amazon CloudWatch Logs.

slow_query_log_file

No

Aurora MySQL uses managed instances where you don't access the file system directly.

socket

No

sort_buffer_size

Yes

sql_mode

Yes

sql_select_limit

Yes

stored_program_cache

Yes

sync_binlog

No

sync_master_info

Yes

sync_source_info

Yes

This parameter applies to Aurora MySQL version 3.

sync_relay_log

Yes

Removed from Aurora MySQL version 3.

sync_relay_log_info

Yes

sysdate-is-now

Yes

table_cache_element_entry_ttl

No

table_definition_cache

Yes

The default value is represented by a formula. For details about how the DBInstanceClassMemory value in the formula is calculated, see DB parameter formula variables.

table_open_cache

Yes

The default value is represented by a formula. For details about how the DBInstanceClassMemory value in the formula is calculated, see DB parameter formula variables.

table_open_cache_instances

Yes

temp-pool

Yes

Removed from Aurora MySQL version 3.

temptable_max_mmap

Yes

This parameter applies to Aurora MySQL version 3. For details, see New temporary table behavior in Aurora MySQL version 3.

temptable_max_ram

Yes

This parameter applies to Aurora MySQL version 3. For details, see New temporary table behavior in Aurora MySQL version 3.

temptable_use_mmap

Yes

This parameter applies to Aurora MySQL version 3. For details, see New temporary table behavior in Aurora MySQL version 3.

thread_cache_size

Yes The number of threads to be cached. This parameter applies to Aurora MySQL versions 2 and 3.

thread_handling

No

thread_stack

Yes

timed_mutexes

Yes

tmp_table_size

Yes

Defines the maximum size of internal in-memory temporary tables created by the MEMORY storage engine in Aurora MySQL version 3.

In Aurora MySQL version 3.04 and higher, defines the maximum size of internal in-memory temporary tables created by the TempTable storage engine when aurora_tmptable_enable_per_table_limit is ON.

For more information, see Limiting the size of internal, in-memory temporary tables.

tmpdir

No

Aurora MySQL uses managed instances where you don't access the file system directly.

transaction_alloc_block_size

Yes

transaction_isolation

Yes

This parameter applies to Aurora MySQL version 3. It replaces tx_isolation.

transaction_prealloc_size

Yes

tx_isolation

Yes

Removed from Aurora MySQL version 3. It is replaced by transaction_isolation.

updatable_views_with_limit

Yes

validate-password

No

validate_password_dictionary_file

No

validate_password_length

No

validate_password_mixed_case_count

No

validate_password_number_count

No

validate_password_policy

No

validate_password_special_char_count

No

wait_timeout

Yes

Aurora evaluates the minimum value of interactive_timeout and wait_timeout. It then uses that minimum as the timeout to end all idle sessions, both interactive and noninteractive.

MySQL parameters that don't apply to Aurora MySQL

Because of architectural differences between Aurora MySQL and MySQL, some MySQL parameters don't apply to Aurora MySQL.

The following MySQL parameters don't apply to Aurora MySQL. This list isn't exhaustive.

  • activate_all_roles_on_login – This parameter doesn't apply to Aurora MySQL version 2. It is available in Aurora MySQL version 3.

  • big_tables

  • bind_address

  • character_sets_dir

  • innodb_adaptive_flushing

  • innodb_adaptive_flushing_lwm

  • innodb_buffer_pool_chunk_size

  • innodb_buffer_pool_instances

  • innodb_change_buffering

  • innodb_checksum_algorithm

  • innodb_data_file_path

  • innodb_dedicated_server

  • innodb_doublewrite

  • innodb_flush_log_at_timeout – This parameter doesn't apply to Aurora MySQL. For more information, see Configuring how frequently the log buffer is flushed.

  • 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_log_spin_cpu_abs_lwm

  • innodb_log_spin_cpu_pct_hwm

  • innodb_log_writer_threads

  • innodb_max_dirty_pages_pct

  • innodb_numa_interleave

  • innodb_page_size

  • innodb_redo_log_capacity

  • innodb_redo_log_encrypt

  • innodb_undo_log_encrypt

  • innodb_undo_log_truncate

  • innodb_undo_logs

  • innodb_undo_tablespaces

  • innodb_use_native_aio

  • innodb_write_io_threads