# Aurora MySQL configuration parameters

PDF RSS

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 AWS Management Console, the AWS 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 AWS 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 Working with parameter groups. For rules and restrictions for Aurora Serverless v1 clusters, see Parameter groups for Aurora Serverless v1.

###### Topics

- Cluster-level parameters
- Instance-level parameters
- MySQL parameters that don't apply to Aurora MySQL
- Aurora MySQL global status variables
- MySQL status variables that don't apply to Aurora MySQL

## 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_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 Working with 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.
`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.
`binlog_checksum` | Yes | The AWS 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.
`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 |
`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 `0`–`31536000`. 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: `never` (`0`) – The `INSTANT` algorithm isn't allowed for `ALTER COLUMN` operations. Reverts to the `IN-PLACE` algorithm. `instant` (`1`) – `ALTER COLUMN` operations always use the `INSTANT` algorithm. This is the default value. `no_add_drop` (`2`) – `VIRTUAL_ADD_DROP_ONLY` and `COLUMN_RENAME_ONLY` column operations support the `INSTANT` algorithm. `ADD COLUMN` and `DROP COLUMN` operations use the `IN-PLACE` algorithm. 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 |
`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 `0`–`18446744073709551615`. 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: `0` – `OFF` `1` – `ON` `{TrueIfReplica}` – `ON` for read replicas. This is the default value. `{TrueIfReplicaCluster}` – `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: `0` – `OFF` `1` – `ON` `{TrueIfReplicaCluster}` – `ON` for replica clusters such as cross-Region read replicas, secondary clusters in an Aurora global database, and blue/green deployments. This is the default value. 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 Using TLS with Aurora MySQL DB clusters.
`rpl_read_size` | Yes | This parameter applies to Aurora MySQL version 3.
`server_audit_events` | Yes |
`server_audit_excl_users` | Yes |
`server_audit_incl_users` | Yes |
`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 | 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 |
`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 Working with 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 Amazon Aurora MySQL out-of-memory issues.
`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 Working with 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 Working with 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` | 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.
`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_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 `0`–`18446744073709551615`. 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: `0` – `OFF` `1` – `ON` `{TrueIfReplica}` – `ON` for read replicas. This is the default value. `{TrueIfReplicaCluster}` – `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`

## Aurora MySQL global status variables

You can find the current values for Aurora MySQL global status variables by using a statement such as the following:

    show global status like '%aurora%';

The following table describes the global status variables that Aurora MySQL uses.

Name | Description
--- | ---
`AuroraDb_commits` | The total number of commits since the last restart.
`AuroraDb_commit_latency` | The aggregate commit latency since the last restart.
`AuroraDb_ddl_stmt_duration` | The aggregate DDL latency since the last restart.
`AuroraDb_select_stmt_duration` | The aggregate `SELECT` statement latency since the last restart.
`AuroraDb_insert_stmt_duration` | The aggregate `INSERT` statement latency since the last restart.
`AuroraDb_update_stmt_duration` | The aggregate `UPDATE` statement latency since the last restart.
`AuroraDb_delete_stmt_duration` | The aggregate `DELETE` statement latency since the last restart.
`Aurora_binlog_io_cache_allocated` | The number of bytes allocated to the binlog I/O cache.
`Aurora_binlog_io_cache_read_requests` | The number of read requests made to the binlog I/O cache.
`Aurora_binlog_io_cache_reads` | The number of read requests that were served from the binlog I/O cache.
`Aurora_enhanced_binlog` | Indicates whether enhanced binlog is enabled or disabled for this DB instance. For more information, see Setting up enhanced binlog.
`Aurora_external_connection_count` | The number of database connections to the DB instance, excluding RDS service connections used for database health checks.
`Aurora_fast_insert_cache_hits` | A counter that's incremented when the cached cursor is successfully retrieved and verified. For more information on the fast insert cache, see Amazon Aurora MySQL performance enhancements.
`Aurora_fast_insert_cache_misses` | A counter that's incremented when the cached cursor is no longer valid and Aurora performs a normal index traversal. For more information on the fast insert cache, see Amazon Aurora MySQL performance enhancements.
`Aurora_fwd_master_dml_stmt_count` | The total number of DML statements forwarded to this writer DB instance. This variable applies to Aurora MySQL version 2.
`Aurora_fwd_master_dml_stmt_duration` | The total duration of DML statements forwarded to this writer DB instance. This variable applies to Aurora MySQL version 2.
`Aurora_fwd_master_errors_rpc_timeout` | The number of times a forwarded connection failed to be established on the writer.
`Aurora_fwd_master_errors_session_limit` | The number of forwarded queries that get rejected due to `session full` on the writer.
`Aurora_fwd_master_errors_session_timeout` | The number of times a forwarding session is ended due to a timeout on the writer.
`Aurora_fwd_master_open_sessions` | The number of forwarded sessions on the writer DB instance. This variable applies to Aurora MySQL version 2.
`Aurora_fwd_master_select_stmt_count` | The total number of `SELECT` statements forwarded to this writer DB instance. This variable applies to Aurora MySQL version 2.
`Aurora_fwd_master_select_stmt_duration` | The total duration of `SELECT` statements forwarded to this writer DB instance. This variable applies to Aurora MySQL version 2.
`Aurora_fwd_writer_dml_stmt_count` | The total number of DML statements forwarded to this writer DB instance. This variable applies to Aurora MySQL version 3.
`Aurora_fwd_writer_dml_stmt_duration` | The total duration of DML statements forwarded to this writer DB instance. This variable applies to Aurora MySQL version 3.
`Aurora_fwd_writer_errors_rpc_timeout` | The number of times a forwarded connection failed to be established on the writer.
`Aurora_fwd_writer_errors_session_limit` | The number of forwarded queries that get rejected due to `session full` on the writer.
`Aurora_fwd_writer_errors_session_timeout` | The number of times a forwarding session is ended due to a timeout on the writer.
`Aurora_fwd_writer_open_sessions` | The number of forwarded sessions on the writer DB instance. This variable applies to Aurora MySQL version 3.
`Aurora_fwd_writer_select_stmt_count` | The total number of `SELECT` statements forwarded to this writer DB instance. This variable applies to Aurora MySQL version 3.
`Aurora_fwd_writer_select_stmt_duration` | The total duration of `SELECT` statements forwarded to this writer DB instance. This variable applies to Aurora MySQL version 3.
`Aurora_lockmgr_memory_used` | The amount of memory in bytes that the Aurora MySQL lock manager is using.
`Aurora_ml_actual_request_cnt` | The aggregate request count that Aurora MySQLmakes to the Aurora machine learning services across all queries run by users of the DB instance. For more information, see Using Amazon Aurora machine learning with Aurora MySQL.
`Aurora_ml_actual_response_cnt` | The aggregate response count that Aurora MySQL receives from the Aurora machine learning services across all queries run by users of the DB instance. For more information, see Using Amazon Aurora machine learning with Aurora MySQL.
`Aurora_ml_cache_hit_cnt` | The aggregate internal cache hit count that Aurora MySQL receives from the Aurora machine learning services across all queries run by users of the DB instance. For more information, see Using Amazon Aurora machine learning with Aurora MySQL.
`Aurora_ml_logical_request_cnt` | The number of logical requests that the DB instance has evaluated to be sent to the Aurora machine learning services since the last status reset. Depending on whether batching has been used, this value can be higher than `Aurora_ml_actual_request_cnt`. For more information, see Using Amazon Aurora machine learning with Aurora MySQL.
`Aurora_ml_logical_response_cnt` | The aggregate response count that Aurora MySQL receives from the Aurora machine learning services across all queries run by users of the DB instance. For more information, see Using Amazon Aurora machine learning with Aurora MySQL.
`Aurora_ml_retry_request_cnt` | The number of retried requests that the DB instance has sent to the Aurora machine learning services since the last status reset. For more information, see Using Amazon Aurora machine learning with Aurora MySQL.
`Aurora_ml_single_request_cnt` | The aggregate count of Aurora machine learning functions that are evaluated by non-batch mode across all queries run by users of the DB instance. For more information, see Using Amazon Aurora machine learning with Aurora MySQL.
`Aurora_pq_bytes_returned` | The number of bytes for the tuple data structures transmitted to the head node during parallel queries. Divide by 16,384 to compare against `Aurora_pq_pages_pushed_down`.
`Aurora_pq_max_concurrent_requests` | The maximum number of parallel query sessions that can run concurrently on this Aurora DB instance. This is a fixed number that depends on the AWS DB instance class.
`Aurora_pq_pages_pushed_down` | The number of data pages (each with a fixed size of 16 KiB) where parallel query avoided a network transmission to the head node.
`Aurora_pq_request_attempted` | The number of parallel query sessions requested. This value might represent more than one session per query, depending on SQL constructs such as subqueries and joins.
`Aurora_pq_request_executed` | The number of parallel query sessions run successfully.
`Aurora_pq_request_failed` | The number of parallel query sessions that returned an error to the client. In some cases, a request for a parallel query might fail, for example due to a problem in the storage layer. In these cases, the query part that failed is retried using the nonparallel query mechanism. If the retried query also fails, an error is returned to the client and this counter is incremented.
`Aurora_pq_request_in_progress` | The number of parallel query sessions currently in progress. This number applies to the particular Aurora DB instance that you are connected to, not the entire Aurora DB cluster. To see if a DB instance is close to its concurrency limit, compare this value to `Aurora_pq_max_concurrent_requests`.
`Aurora_pq_request_not_chosen` | The number of times parallel query wasn't chosen to satisfy a query. This value is the sum of several other more granular counters. An `EXPLAIN` statement can increment this counter even though the query isn't actually performed.
`Aurora_pq_request_not_chosen_below_min_rows` | The number of times parallel query wasn't chosen due to the number of rows in the table. An `EXPLAIN` statement can increment this counter even though the query isn't actually performed.
`Aurora_pq_request_not_chosen_column_bit` | The number of parallel query requests that use the nonparallel query processing path because of an unsupported data type in the list of projected columns.
`Aurora_pq_request_not_chosen_column_geometry` | The number of parallel query requests that use the nonparallel query processing path because the table has columns with the `GEOMETRY` data type. For information about Aurora MySQL versions that remove this limitation, see Upgrading parallel query clusters to Aurora MySQL version 3.
`Aurora_pq_request_not_chosen_column_lob` | The number of parallel query requests that use the nonparallel query processing path because the table has columns with a `LOB` data type, or `VARCHAR` columns that are stored externally due to the declared length. For information about Aurora MySQL versions that remove this limitation, see Upgrading parallel query clusters to Aurora MySQL version 3.
`Aurora_pq_request_not_chosen_column_virtual` | The number of parallel query requests that use the nonparallel query processing path because the table contains a virtual column.
`Aurora_pq_request_not_chosen_custom_charset` | The number of parallel query requests that use the nonparallel query processing path because the table has columns with a custom character set.
`Aurora_pq_request_not_chosen_fast_ddl` | The number of parallel query requests that use the nonparallel query processing path because the table is currently being altered by a fast DDL `ALTER` statement.
`Aurora_pq_request_not_chosen_few_pages_outside_buffer_pool` | The number of times parallel query wasn't chosen, even though less than 95 percent of the table data was in the buffer pool, because there wasn't enough unbuffered table data to make parallel query worthwhile.
`Aurora_pq_request_not_chosen_full_text_index` | The number of parallel query requests that use the nonparallel query processing path because the table has full-text indexes.
`Aurora_pq_request_not_chosen_high_buffer_pool_pct` | The number of times parallel query wasn't chosen because a high percentage of the table data (currently, greater than 95 percent) was already in the buffer pool. In these cases, the optimizer determines that reading the data from the buffer pool is more efficient. An `EXPLAIN` statement can increment this counter even though the query isn't actually performed.
`Aurora_pq_request_not_chosen_index_hint` | The number of parallel query requests that use the nonparallel query processing path because the query includes an index hint.
`Aurora_pq_request_not_chosen_innodb_table_format` | The number of parallel query requests that use the nonparallel query processing path because the table uses an unsupported InnoDB row format. Aurora parallel query only applies to the `COMPACT`, `REDUNDANT`, and `DYNAMIC` row formats.
`Aurora_pq_request_not_chosen_long_trx` | The number of parallel query requests that used the nonparallel query processing path, due to the query being started inside a long-running transaction. An `EXPLAIN` statement can increment this counter even though the query isn't actually performed.
`Aurora_pq_request_not_chosen_no_where_clause` | The number of parallel query requests that use the nonparallel query processing path because the query doesn't include any `WHERE` clause.
`Aurora_pq_request_not_chosen_range_scan` | The number of parallel query requests that use the nonparallel query processing path because the query uses a range scan on an index.
`Aurora_pq_request_not_chosen_row_length_too_long` | The number of parallel query requests that use the nonparallel query processing path because the total combined length of all the columns is too long.
`Aurora_pq_request_not_chosen_small_table` | The number of times parallel query wasn't chosen due to the overall size of the table, as determined by number of rows and average row length. An `EXPLAIN` statement can increment this counter even though the query isn't actually performed.
`Aurora_pq_request_not_chosen_temporary_table` | The number of parallel query requests that use the nonparallel query processing path because the query refers to temporary tables that use the unsupported `MyISAM` or `memory` table types.
`Aurora_pq_request_not_chosen_tx_isolation` | The number of parallel query requests that use the nonparallel query processing path because query uses an unsupported transaction isolation level. On reader DB instances, parallel query only applies to the `REPEATABLE READ` and `READ COMMITTED` isolation levels.
`Aurora_pq_request_not_chosen_update_delete_stmts` | The number of parallel query requests that use the nonparallel query processing path because the query is part of an `UPDATE` or `DELETE` statement.
`Aurora_pq_request_not_chosen_unsupported_access` | The number of parallel query requests that use the nonparallel query processing path because the `WHERE` clause doesn't meet the criteria for parallel query. This result can occur if the query doesn't require a data-intensive scan, or if the query is a `DELETE` or `UPDATE` statement.
`Aurora_pq_request_not_chosen_unsupported_storage_type` | The number of parallel query requests that use the nonparallel query processing path because the Aurora MySQL DB cluster isn't using a supported Aurora cluster storage configuration. For more information, see Limitations. This parameter applies to Aurora MySQL version 3.04 and higher.
`Aurora_pq_request_throttled` | The number of times parallel query wasn't chosen due to the maximum number of concurrent parallel queries already running on a particular Aurora DB instance.
`Aurora_repl_bytes_received` | Number of bytes replicated to an Aurora MySQL reader database instance since the last restart. For more information, see Replication with Amazon Aurora MySQL.
`Aurora_reserved_mem_exceeded_incidents` | The number of times since the last restart that the engine has exceeded reserved memory limits. If `aurora_oom_response` is configured, this threshold defines when out-of-memory (OOM) avoidance activities are triggered. For more information on the Aurora MySQL OOM response, seeAmazon Aurora MySQL out-of-memory issues.
`Aurora_thread_pool_thread_count` | The current number of threads in the Aurora thread pool. For more information on the thread pool in Aurora MySQL, see Thread pool.
`Aurora_tmz_version` | Denotes the current version of the time zone information used by the DB cluster. The values follow the Internet Assigned Numbers Authority (IANA) format: `YYYYsuffix`, for example `2022a` and `2023c`. This parameter applies to Aurora MySQL version 2.12 and higher, and version 3.04 and higher.
`server_aurora_das_running` | Indicates whether Database Activity Streams (DAS) are enabled or disabled on this DB instance. For more information, see Monitoring Amazon Aurora with Database Activity Streams.

## MySQL status variables that don't apply to Aurora MySQL

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

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

- `innodb_buffer_pool_bytes_dirty`

- `innodb_buffer_pool_pages_dirty`

- `innodb_buffer_pool_pages_flushed`

Aurora MySQL version 3 removes the following status variables that were in Aurora MySQL version 2:

- `AuroraDb_lockmgr_bitmaps0_in_use`

- `AuroraDb_lockmgr_bitmaps1_in_use`

- `AuroraDb_lockmgr_bitmaps_mem_used`

- `AuroraDb_thread_deadlocks`

- `available_alter_table_log_entries`

- `Aurora_lockmgr_memory_used`

- `Aurora_missing_history_on_replica_incidents`

- `Aurora_new_lock_manager_lock_release_cnt`

- `Aurora_new_lock_manager_lock_release_total_duration_micro`

- `Aurora_new_lock_manager_lock_timeout_cnt`

- `Aurora_total_op_memory`

- `Aurora_total_op_temp_space`

- `Aurora_used_alter_table_log_entries`

- `Aurora_using_new_lock_manager`

- `Aurora_volume_bytes_allocated`

- `Aurora_volume_bytes_left_extent`

- `Aurora_volume_bytes_left_total`

- `Com_alter_db_upgrade`

- `Compression`

- `External_threads_connected`

- `Innodb_available_undo_logs`

- `Last_query_cost`

- `Last_query_partial_plans`

- `Slave_heartbeat_period`

- `Slave_last_heartbeat`

- `Slave_received_heartbeats`

- `Slave_retried_transactions`

- `Slave_running`

- `Time_since_zero_connections`

These MySQL status variables are available in Aurora MySQL version 2, but they aren't available in Aurora MySQL version 3:

- `Innodb_redo_log_enabled`

- `Innodb_undo_tablespaces_total`

- `Innodb_undo_tablespaces_implicit`

- `Innodb_undo_tablespaces_explicit`

- `Innodb_undo_tablespaces_active`