The MySQL server maintains many status variables that provide information about its operation. You can view these variables and their values by using the SHOW [GLOBAL | SESSION] STATUS statement (see Section 15.7.7.38, “SHOW STATUS Statement”). The optional GLOBAL keyword aggregates the values over all connections, and SESSION shows the values for the current connection. 
mysql> SHOW GLOBAL STATUS; +-----------------------------------+------------+ | Variable_name | Value | +-----------------------------------+------------+ | Aborted_clients | 0 | | Aborted_connects | 0 | | Bytes_received | 155372598 | | Bytes_sent | 1176560426 | ... | Connections | 30023 | | Created_tmp_disk_tables | 0 | | Created_tmp_files | 3 | | Created_tmp_tables | 2 | ... | Threads_created | 217 | | Threads_running | 88 | | Uptime | 1389872 | +-----------------------------------+------------+ Many status variables are reset to 0 by the FLUSH STATUS statement. 
This section provides a description of each status variable. For a status variable summary, see Section 7.1.6, “Server Status Variable Reference”. For information about status variables specific to NDB Cluster, see Section 25.4.3.9.3, “NDB Cluster Status Variables”.
The status variables have the following meanings.
- The number of connections that were aborted because the client died without closing the connection properly. See Section B.3.2.9, “Communication Errors and Aborted Connections”. 
- The number of failed attempts to connect to the MySQL server. See Section B.3.2.9, “Communication Errors and Aborted Connections”. - For additional connection-related information, check the - Connection_errors_status variables and the- xxx- host_cachetable.
- Authentication_ldap_sasl_supported_methods- The - authentication_ldap_saslplugin that implements SASL LDAP authentication supports multiple authentication methods, but depending on host system configuration, they might not all be available. The- Authentication_ldap_sasl_supported_methodsvariable provides discoverability for the supported methods. Its value is a string consisting of supported method names separated by spaces. Example:- "SCRAM-SHA 1 SCRAM-SHA-256 GSSAPI"
- The number of transactions that used the temporary binary log cache but that exceeded the value of - binlog_cache_sizeand used a temporary file to store statements from the transaction.- The number of nontransactional statements that caused the binary log transaction cache to be written to disk is tracked separately in the - Binlog_stmt_cache_disk_usestatus variable.
- The number of cached privilege objects. Each object is the privilege combination of a user and its active roles. 
- The number of transactions that used the binary log cache. 
- The number of nontransaction statements that used the binary log statement cache but that exceeded the value of - binlog_stmt_cache_sizeand used a temporary file to store those statements.
- The number of nontransactional statements that used the binary log statement cache. 
- The number of bytes received from all clients. 
- The number of bytes sent to all clients. 
- Caching_sha2_password_rsa_public_key- The public key used by the - caching_sha2_passwordauthentication plugin for RSA key pair-based password exchange. The value is nonempty only if the server successfully initializes the private and public keys in the files named by the- caching_sha2_password_private_key_pathand- caching_sha2_password_public_key_pathsystem variables. The value of- Caching_sha2_password_rsa_public_keycomes from the latter file.
- The - Com_statement counter variables indicate the number of times each- xxx- xxxstatement has been executed. There is one status variable for each type of statement. For example,- Com_deleteand- Com_updatecount- DELETEand- UPDATEstatements, respectively.- Com_delete_multiand- Com_update_multiare similar but apply to- DELETEand- UPDATEstatements that use multiple-table syntax.- All - Com_stmt_variables are increased even if a prepared statement argument is unknown or an error occurred during execution. In other words, their values correspond to the number of requests issued, not to the number of requests successfully completed. For example, because status variables are initialized for each server startup and do not persist across restarts, the- xxx- Com_restartand- Com_shutdownvariables that track- RESTARTand- SHUTDOWNstatements normally have a value of zero, but can be nonzero if- RESTARTor- SHUTDOWNstatements were executed but failed.- The - Com_stmt_status variables are as follows:- xxx- Com_stmt_prepare
- Com_stmt_execute
- Com_stmt_fetch
- Com_stmt_send_long_data
- Com_stmt_reset
- Com_stmt_close
 - Those variables stand for prepared statement commands. Their names refer to the - COM_command set used in the network layer. In other words, their values increase whenever prepared statement API calls such as mysql_stmt_prepare(), mysql_stmt_execute(), and so forth are executed. However,- xxx- Com_stmt_prepare,- Com_stmt_executeand- Com_stmt_closealso increase for- PREPARE,- EXECUTE, or- DEALLOCATE PREPARE, respectively. Additionally, the values of the older statement counter variables- Com_prepare_sql,- Com_execute_sql, and- Com_dealloc_sqlincrease for the- PREPARE,- EXECUTE, and- DEALLOCATE PREPAREstatements.- Com_stmt_fetchstands for the total number of network round-trips issued when fetching from cursors.- Com_stmt_reprepareindicates the number of times statements were automatically reprepared by the server, for example, after metadata changes to tables or views referred to by the statement. A reprepare operation increments- Com_stmt_reprepare, and also- Com_stmt_prepare.- Com_explain_otherindicates the number of- EXPLAIN FOR CONNECTIONstatements executed. See Section 10.8.4, “Obtaining Execution Plan Information for a Named Connection”.- Com_change_repl_filterindicates the number of- CHANGE REPLICATION FILTERstatements executed.- Com_create_library,- Com_drop_library,- Com_alter_library,- Com_show_create_library, and- Com_show_library_statusindicate, respectively, the numbers of- CREATE LIBRARY,- DROP LIBRARY,- ALTER LIBRARY,- SHOW CREATE LIBRARY, and- SHOW LIBRARY STATUSstatements executed. These variables are present only if the MLE component is installed (see Section 7.5.7, “Multilingual Engine Component (MLE)”).
- Whether the client connection uses compression in the client/server protocol. - This status variable is deprecated; expect it to be removed in a future version of MySQL. See Configuring Legacy Connection Compression. 
- The name of the compression algorithm in use for the current connection to the server. The value can be any algorithm permitted in the value of the - protocol_compression_algorithmssystem variable. For example, the value is- uncompressedif the connection does not use compression, or- zlibif the connection uses the- zlibalgorithm.- For more information, see Section 6.2.8, “Connection Compression Control”. 
- The compression level in use for the current connection to the server. The value is 6 for - zlibconnections (the default- zlibalgorithm compression level), 1 to 22 for- zstdconnections, and 0 for- uncompressedconnections.- For more information, see Section 6.2.8, “Connection Compression Control”. 
- Component_connection_control_delay_generated- Number of delays generated by - component_connection_control. Updates whenever a delay is triggered; resets to 0 whenever- component_connection_control.failed_connections_thresholdis set.- See Section 8.4.2, “The Connection Control Component”, for more information. 
- Component_connection_control_exempted_unknown_users- Number of failed TCP connections exempted from connection control check generated by - component_connection_control.exempt_unknown_users.- See Section 8.4.2, “The Connection Control Component”, for more information. 
- These variables provide information about errors that occur during the client connection process. They are global only and represent error counts aggregated across connections from all hosts. These variables track errors not accounted for by the host cache (see Section 7.1.12.3, “DNS Lookups and the Host Cache”), such as errors that are not associated with TCP connections, occur very early in the connection process (even before an IP address is known), or are not specific to any particular IP address (such as out-of-memory conditions). - The number of errors that occurred during calls to - accept()on the listening port.
- The number of connections refused due to internal errors in the server, such as failure to start a new thread or an out-of-memory condition. 
- Connection_errors_max_connections- The number of connections refused because the server - max_connectionslimit was reached.
- Connection_errors_peer_address- The number of errors that occurred while searching for connecting client IP addresses. 
- The number of errors that occurred during calls to - select()or- poll()on the listening port. (Failure of this operation does not necessarily means a client connection was rejected.)
- The number of connections refused by the - libwraplibrary.
 
- The number of connection attempts (successful or not) to the MySQL server. 
- Count_hit_query_past_global_connection_memory_status_limit- The number of times that queries using any connection have caused total memory consumption to exceed - global_connection_memory_status_limit. This is incremented when a query brings the total memory consumption from less than- global_connection_memory_status_limitto greater than this amount; when a query is executed but total memory consumption already exceeds this this limit, the status variable is not incremented.
- Count_hit_query_past_connection_memory_status_limit- The number of times that queries using the current connection have caused total memory consumption to exceed - connection_memory_limit. This is incremented, for a query executed within the connection, when such a query brings the total memory consumption from less than- connection_memory_limitto greater than this amount; when a query is executed but total memory consumption already exceeds this this limit, the status variable is not incremented.
- The number of internal temporary tables that were converted from in-memory to on-disk because either the - TempTableengine reached the- tmp_table_sizelimit or the- MEMORYengine reached the smaller value of- tmp_table_sizeand- max_heap_table_size.
- The number of internal on-disk temporary tables created by the server while executing statements. - You can compare the number of internal on-disk temporary tables created to the total number of internal temporary tables created by comparing - Created_tmp_disk_tablesand- Created_tmp_tablesvalues.Note- Due to a known limitation, - Created_tmp_disk_tablesdoes not count on-disk temporary tables created in memory-mapped files. By default, the TempTable storage engine overflow mechanism creates internal temporary tables in memory-mapped files. This behavior is controlled by the- temptable_max_mmapvariable.- See also Section 10.4.4, “Internal Temporary Table Use in MySQL”. 
- How many temporary files mysqld has created. 
- The number of internal temporary tables created by the server while executing statements. - You can compare the number of internal on-disk temporary tables created to the total number of internal temporary tables created by comparing - Created_tmp_disk_tablesand- Created_tmp_tablesvalues.- See also Section 10.4.4, “Internal Temporary Table Use in MySQL”. - Each invocation of the - SHOW STATUSstatement uses an internal temporary table and increments the global- Created_tmp_tablesvalue.
- The active - ssl_cavalue in the SSL context that the server uses for new connections. This context value may differ from the current- ssl_casystem variable value if the system variable has been changed but- ALTER INSTANCE RELOAD TLShas not subsequently been executed to reconfigure the SSL context from the context-related system variable values and update the corresponding status variables. (This potential difference in values applies to each corresponding pair of context-related system and status variables. See Server-Side Runtime Configuration and Monitoring for Encrypted Connections.)- The - Current_tls_status variable values are also available through the Performance Schema- xxx- tls_channel_statustable. See Section 29.12.22.11, “The tls_channel_status Table”.
- The active - ssl_capathvalue in the TLS context that the server uses for new connections. For notes about the relationship between this status variable and its corresponding system variable, see the description of- Current_tls_ca.
- The active - ssl_certvalue in the TLS context that the server uses for new connections. For notes about the relationship between this status variable and its corresponding system variable, see the description of- Current_tls_ca.
- The active - ssl_ciphervalue in the TLS context that the server uses for new connections. For notes about the relationship between this status variable and its corresponding system variable, see the description of- Current_tls_ca.
- The active - tls_ciphersuitesvalue in the TLS context that the server uses for new connections. For notes about the relationship between this status variable and its corresponding system variable, see the description of- Current_tls_ca.
- The active - ssl_crlvalue in the TLS context that the server uses for new connections. For notes about the relationship between this status variable and its corresponding system variable, see the description of- Current_tls_ca.Note- When you reload the TLS context, OpenSSL reloads the file containing the CRL (certificate revocation list) as part of the process. If the CRL file is large, the server allocates a large chunk of memory (ten times the file size), which is doubled while the new instance is being loaded and the old one has not yet been released. The process resident memory is not immediately reduced after a large allocation is freed, so if you issue the - ALTER INSTANCE RELOAD TLSstatement repeatedly with a large CRL file, the process resident memory usage may grow as a result of this.
- The active - ssl_crlpathvalue in the TLS context that the server uses for new connections. For notes about the relationship between this status variable and its corresponding system variable, see the description of- Current_tls_ca.
- The active - ssl_keyvalue in the TLS context that the server uses for new connections. For notes about the relationship between this status variable and its corresponding system variable, see the description of- Current_tls_ca.
- The active - tls_versionvalue in the TLS context that the server uses for new connections. For notes about the relationship between this status variable and its corresponding system variable, see the description of- Current_tls_ca.
- This status variable is deprecated (because - DELAYEDinserts are not supported); expect it to be removed in a future release.
- This status variable is deprecated (because - DELAYEDinserts are not supported); expect it to be removed in a future release.
- This status variable is deprecated (because - DELAYEDinserts are not supported); expect it to be removed in a future release.
- Deprecated_use_i_s_processlist_count- How many times the - information_schema.processlisttable has been accessed since the last restart.
- Deprecated_use_i_s_processlist_last_timestamp- A timestamp indicating the last time the - information_schema.processlisttable has been accessed since the last restart. Shows microseconds since the Unix Epoch.
- The result of the most recent assignment to the - dragnet.log_error_filter_rulessystem variable, empty if no such assignment has occurred.
- The number of bytes currently used in the Performance Schema - error_logtable. It is possible for the value to decrease, for example, if a new event cannot fit until discarding an old event, but the new event is smaller than the old one.
- The number of events currently present in the Performance Schema - error_logtable. As with- Error_log_buffered_bytes, it is possible for the value to decrease.
- The number of events discarded from the Performance Schema - error_logtable to make room for new events.
- The time of the last write to the Performance Schema - error_logtable.
- The number of times the server flushes tables, whether because a user executed a - FLUSH TABLESstatement or due to internal server operation. It is also incremented by receipt of a- COM_REFRESHpacket. This is in contrast to- Com_flush, which indicates how many- FLUSHstatements have been executed, whether- FLUSH TABLES,- FLUSH LOGS, and so forth.
- The memory used by all user connections to the server. Memory used by system threads or by the MySQL root account is included in the total, but such threads or users are not subject to disconnection due to memory usage. This memory is not calculated unless - global_connection_memory_trackingis enabled (disabled by default). The Performance Schema must also be enabled.- You can control (indirectly) the frequency with which this variable is updated by setting - connection_memory_chunk_size.
- The number of internal - COMMITstatements.
- The number of times that rows have been deleted from tables. 
- The server increments this variable for each call to its - external_lock()function, which generally occurs at the beginning and end of access to a table instance. There might be differences among storage engines. This variable can be used, for example, to discover for a statement that accesses a partitioned table how many partitions were pruned before locking occurred: Check how much the counter increased for the statement, subtract 2 (2 calls for the table itself), then divide by 2 to get the number of partitions locked.
- The number of times the server uses a storage engine's own Multi-Range Read implementation for table access. 
- A counter for the prepare phase of two-phase commit operations. 
- The number of times the first entry in an index was read. If this value is high, it suggests that the server is doing a lot of full index scans (for example, - SELECT col1 FROM foo, assuming that- col1is indexed).
- The number of requests to read a row based on a key. If this value is high, it is a good indication that your tables are properly indexed for your queries. 
- The number of requests to read the last key in an index. With - ORDER BY, the server issues a first-key request followed by several next-key requests, whereas with- ORDER BY DESC, the server issues a last-key request followed by several previous-key requests.
- The number of requests to read the next row in key order. This value is incremented if you are querying an index column with a range constraint or if you are doing an index scan. 
- The number of requests to read the previous row in key order. This read method is mainly used to optimize - ORDER BY ... DESC.
- The number of requests to read a row based on a fixed position. This value is high if you are doing a lot of queries that require sorting of the result. You probably have a lot of queries that require MySQL to scan entire tables or you have joins that do not use keys properly. 
- The number of requests to read the next row in the data file. This value is high if you are doing a lot of table scans. Generally this suggests that your tables are not properly indexed or that your queries are not written to take advantage of the indexes you have. 
- The number of requests for a storage engine to perform a rollback operation. 
- The number of requests for a storage engine to place a savepoint. 
- The number of requests for a storage engine to roll back to a savepoint. 
- The number of requests to update a row in a table. 
- The number of requests to insert a row in a table. 
- Innodb_buffer_pool_dump_status- The progress of an operation to record the pages held in the - InnoDBbuffer pool, triggered by the setting of- innodb_buffer_pool_dump_at_shutdownor- innodb_buffer_pool_dump_now.- For related information and examples, see Section 17.8.3.6, “Saving and Restoring the Buffer Pool State”. 
- Innodb_buffer_pool_load_status- The progress of an operation to warm up the - InnoDBbuffer pool by reading in a set of pages corresponding to an earlier point in time, triggered by the setting of- innodb_buffer_pool_load_at_startupor- innodb_buffer_pool_load_now. If the operation introduces too much overhead, you can cancel it by setting- innodb_buffer_pool_load_abort.- For related information and examples, see Section 17.8.3.6, “Saving and Restoring the Buffer Pool State”. 
- The total number of bytes in the - InnoDBbuffer pool containing data. The number includes both dirty and clean pages. For more accurate memory usage calculations than with- Innodb_buffer_pool_pages_data, when compressed tables cause the buffer pool to hold pages of different sizes.
- The number of pages in the - InnoDBbuffer pool containing data. The number includes both dirty and clean pages. When using compressed tables, the reported- Innodb_buffer_pool_pages_datavalue may be larger than- Innodb_buffer_pool_pages_total(Bug #59550).
- Innodb_buffer_pool_bytes_dirty- The total current number of bytes held in dirty pages in the - InnoDBbuffer pool. For more accurate memory usage calculations than with- Innodb_buffer_pool_pages_dirty, when compressed tables cause the buffer pool to hold pages of different sizes.
- Innodb_buffer_pool_pages_dirty- The current number of dirty pages in the - InnoDBbuffer pool.
- Innodb_buffer_pool_pages_flushed- The number of requests to flush pages from the - InnoDBbuffer pool.
- The number of free pages in the - InnoDBbuffer pool.
- Innodb_buffer_pool_pages_latched- The number of latched pages in the - InnoDBbuffer pool. These are pages currently being read or written, or that cannot be flushed or removed for some other reason. Calculation of this variable is expensive, so it is available only when the- UNIV_DEBUGsystem is defined at server build time.
- The number of pages in the - InnoDBbuffer pool that are busy because they have been allocated for administrative overhead, such as row locks or the adaptive hash index. This value can also be calculated as- Innodb_buffer_pool_pages_total−- Innodb_buffer_pool_pages_free−- Innodb_buffer_pool_pages_data. When using compressed tables,- Innodb_buffer_pool_pages_miscmay report an out-of-bounds value (Bug #59550).
- Innodb_buffer_pool_pages_total- The total size of the - InnoDBbuffer pool, in pages. When using compressed tables, the reported- Innodb_buffer_pool_pages_datavalue may be larger than- Innodb_buffer_pool_pages_total(Bug #59550)
- The number of pages read into the - InnoDBbuffer pool by the read-ahead background thread.
- Innodb_buffer_pool_read_ahead_evicted- The number of pages read into the - InnoDBbuffer pool by the read-ahead background thread that were subsequently evicted without having been accessed by queries.
- Innodb_buffer_pool_read_ahead_rnd- The number of “random” read-aheads initiated by - InnoDB. This happens when a query scans a large portion of a table but in random order.
- Innodb_buffer_pool_read_requests- The number of logical read requests. 
- The number of logical reads that - InnoDBcould not satisfy from the buffer pool, and had to read directly from disk.
- Innodb_buffer_pool_resize_status- The status of an operation to resize the - InnoDBbuffer pool dynamically, triggered by setting the- innodb_buffer_pool_sizeparameter dynamically. The- innodb_buffer_pool_sizeparameter is dynamic, which allows you to resize the buffer pool without restarting the server. See Configuring InnoDB Buffer Pool Size Online for related information.
- Innodb_buffer_pool_resize_status_code- Reports status codes for tracking online buffer pool resizing operations. Each status code represents a stage in a resizing operation. Status codes include: - 0: No Resize operation in progress 
- 1: Starting Resize 
- 2: Disabling AHI (Adaptive Hash Index) 
- 3: Withdrawing Blocks 
- 4: Acquiring Global Lock 
- 5: Resizing Pool 
- 6: Resizing Hash 
- 7: Resizing Failed 
 - You can use this status variable in conjunction with - Innodb_buffer_pool_resize_status_progressto track the progress of each stage of a resizing operation. The- Innodb_buffer_pool_resize_status_progressvariable reports a percentage value indicating the progress of the current stage.- For more information, see Monitoring Online Buffer Pool Resizing Progress. 
- Innodb_buffer_pool_resize_status_progress- Reports a percentage value indicating the progress of the current stage of an online buffer pool resizing operation. This variable is used in conjunction with - Innodb_buffer_pool_resize_status_code, which reports a status code indicating the current stage of an online buffer pool resizing operation.- The percentage value is updated after each buffer pool instance is processed. As the status code (reported by - Innodb_buffer_pool_resize_status_code) changes from one status to another, the percentage value is reset to 0.- For related information, see Monitoring Online Buffer Pool Resizing Progress. 
- Normally, writes to the - InnoDBbuffer pool happen in the background. When- InnoDBneeds to read or create a page and no clean pages are available,- InnoDBflushes some dirty pages first and waits for that operation to finish. This counter counts instances of these waits. If- innodb_buffer_pool_sizehas been set properly, this value should be small.
- Innodb_buffer_pool_write_requests- The number of writes done to the - InnoDBbuffer pool.
- The number of - fsync()operations so far. The frequency of- fsync()calls is influenced by the setting of the- innodb_flush_methodconfiguration option.- Counts the number of - fdatasync()operations if- innodb_use_fdatasyncis enabled.
- The current number of pending - fsync()operations. The frequency of- fsync()calls is influenced by the setting of the- innodb_flush_methodconfiguration option.
- The current number of pending reads. 
- The current number of pending writes. 
- The amount of data read since the server was started (in bytes). 
- The total number of data reads (OS file reads). 
- The total number of data writes. 
- The amount of data written so far, in bytes. 
- The number of pages that have been written to the doublewrite buffer. See Section 17.11.1, “InnoDB Disk I/O”. 
- The number of doublewrite operations that have been performed. See Section 17.11.1, “InnoDB Disk I/O”. 
- Indicates whether the server was built with atomic instructions. 
- The number of times that the log buffer was too small and a wait was required for it to be flushed before continuing. 
- The number of write requests for the - InnoDBredo log.
- The number of physical writes to the - InnoDBredo log file.
- The number of files - InnoDBcurrently holds open.
- The number of - fsync()writes done to the- InnoDBredo log files.
- The number of pending - fsync()operations for the- InnoDBredo log files.
- The number of pending writes to the - InnoDBredo log files.
- The number of bytes written to the - InnoDBredo log files.
- InnoDBpage size (default 16KB). Many values are counted in pages; the page size enables them to be easily converted to bytes.
- The number of pages created by operations on - InnoDBtables.
- The number of pages read from the - InnoDBbuffer pool by operations on- InnoDBtables.
- The number of pages written by operations on - InnoDBtables.
- Whether redo logging is enabled or disabled. See Disabling Redo Logging. 
- Innodb_redo_log_capacity_resized- The total redo log capacity for all redo log files, in bytes, after the last completed capacity resize operation. The value includes ordinary and spare redo log files. - If there is no pending resize down operation, - Innodb_redo_log_capacity_resizedshould be equal to- innodb_redo_log_capacityif it is used. See the- innodb_redo_log_capacitydocumentation for further clarification. Resize up operations are instantaneous.- For related information, see Section 17.6.5, “Redo Log”. 
- Innodb_redo_log_checkpoint_lsn- The redo log checkpoint LSN. For related information, see Section 17.6.5, “Redo Log”. 
- The current LSN represents the last written position in the redo log buffer. - InnoDBwrites data to the redo log buffer inside the MySQL process before requesting that the operating system write the data to the current redo log file. For related information, see Section 17.6.5, “Redo Log”.
- Innodb_redo_log_flushed_to_disk_lsn- The flushed-to-disk LSN. - InnoDBfirst writes data to the redo log and then requests that the operating system flush the data to disk. The flushed-to-disk LSN represents the last position in the redo log that- InnoDBknows has been flushed to disk. For related information, see Section 17.6.5, “Redo Log”.
- A data size value, in bytes, representing the LSN range containing in-use redo log data, spanning from the oldest block required by redo log consumers to the latest written block. For related information, see Section 17.6.5, “Redo Log”. 
- The amount of disk space in bytes currently consumed by all redo log files on disk, excluding spare redo log files. For related information, see Section 17.6.5, “Redo Log”. 
- Whether the redo log is read-only. 
- The redo log resize status indicating the current state of the redo log capacity resize mechanism. Possible values include: - OK: There are no issues and no pending redo log capacity resize operations.
- Resizing down: A resize down operation is in progress.
 - A resize up operation is instantaneous and therefore has no pending status. 
- The redo log UUID. 
- The number of row locks currently waited for by operations on - InnoDBtables.
- The total time spent in acquiring row locks for - InnoDBtables, in milliseconds.
- The average time to acquire a row lock for - InnoDBtables, in milliseconds.
- The maximum time to acquire a row lock for - InnoDBtables, in milliseconds.
- The number of times operations on - InnoDBtables had to wait for a row lock.
- The number of rows deleted from - InnoDBtables.
- The number of rows inserted into - InnoDBtables.
- The number of rows read from - InnoDBtables.
- The estimated number of rows updated in - InnoDBtables.Note- This value is not meant to be 100% accurate. For an accurate (but more expensive) result, use - ROW_COUNT().
- The number of rows deleted from - InnoDBtables belonging to system-created schemas.
- The number of rows inserted into - InnoDBtables belonging to system-created schemas.
- The number of rows updated in - InnoDBtables belonging to system-created schemas.
- The number of rows read from - InnoDBtables belonging to system-created schemas.
- Innodb_truncated_status_writes- The number of times output from the - SHOW ENGINE INNODB STATUSstatement has been truncated.
- Innodb_undo_tablespaces_active- The number of active undo tablespaces. Includes both implicit ( - InnoDB-created) and explicit (user-created) undo tablespaces. For information about undo tablespaces, see Section 17.6.3.4, “Undo Tablespaces”.
- Innodb_undo_tablespaces_explicit- The number of user-created undo tablespaces. For information about undo tablespaces, see Section 17.6.3.4, “Undo Tablespaces”. 
- Innodb_undo_tablespaces_implicit- The number of undo tablespaces created by - InnoDB. Two default undo tablespaces are created by- InnoDBwhen the MySQL instance is initialized. For information about undo tablespaces, see Section 17.6.3.4, “Undo Tablespaces”.
- The total number of undo tablespaces. Includes both implicit ( - InnoDB-created) and explicit (user-created) undo tablespaces, active and inactive. For information about undo tablespaces, see Section 17.6.3.4, “Undo Tablespaces”.
- The number of key blocks in the - MyISAMkey cache that have changed but have not yet been flushed to disk.
- The number of unused blocks in the - MyISAMkey cache. You can use this value to determine how much of the key cache is in use; see the discussion of- key_buffer_sizein Section 7.1.8, “Server System Variables”.
- The number of used blocks in the - MyISAMkey cache. This value is a high-water mark that indicates the maximum number of blocks that have ever been in use at one time.
- The number of requests to read a key block from the - MyISAMkey cache.
- The number of physical reads of a key block from disk into the - MyISAMkey cache. If- Key_readsis large, then your- key_buffer_sizevalue is probably too small. The cache miss rate can be calculated as- Key_reads/- Key_read_requests.
- The number of requests to write a key block to the - MyISAMkey cache.
- The number of physical writes of a key block from the - MyISAMkey cache to disk.
- The total cost of the last compiled query as computed by the query optimizer. This is useful for comparing the cost of different query plans for the same query. The default value of 0 means that no query has been compiled yet. The default value is 0. - Last_query_costhas session scope.- This variable shows the cost of queries that have multiple query blocks, summing the cost estimates of each query block, estimating how many times non-cacheable subqueries are executed, and multiplying the cost of those query blocks by the number of subquery executions. 
- The number of iterations the query optimizer made in execution plan construction for the previous query. - Last_query_partial_planshas session scope.
- The number of attempts to connect to locked user accounts. For information about account locking and unlocking, see Section 8.2.20, “Account Locking”. 
- The number of - SELECTstatements for which the execution timeout was exceeded.
- The number of - SELECTstatements for which a nonzero execution timeout was set. This includes statements that include a nonzero- MAX_EXECUTION_TIMEoptimizer hint, and statements that include no such hint but execute while the timeout indicated by the- max_execution_timesystem variable is nonzero.
- The number of - SELECTstatements for which the attempt to set an execution timeout failed.
- The maximum number of connections that have been in use simultaneously since the server started. 
- The time at which - Max_used_connectionsreached its current value.
- This status variable is deprecated (because - DELAYEDinserts are not supported); expect it to be removed in a future release.
- The character set currently used by the MeCab full-text parser plugin. For related information, see Section 14.9.9, “MeCab Full-Text Parser Plugin”. 
- Ongoing_anonymous_transaction_count- Shows the number of ongoing transactions which have been marked as anonymous. This can be used to ensure that no further transactions are waiting to be processed. 
- Ongoing_automatic_gtid_violating_transaction_count- This status variable is only available in debug builds. Shows the number of ongoing transactions which use - gtid_next=AUTOMATICand that violate GTID consistency.
- The number of files that are open. This count includes regular files opened by the server. It does not include other types of files such as sockets or pipes. Also, the count does not include files that storage engines open using their own internal functions rather than asking the server level to do so. 
- The number of streams that are open (used mainly for logging). 
- The number of cached table definitions. 
- The number of tables that are open. 
- The number of files that have been opened with - my_open()(a- mysyslibrary function). Parts of the server that open files without using this function do not increment the count.
- The number of table definitions that have been cached. 
- The number of tables that have been opened. If - Opened_tablesis big, your- table_open_cachevalue is probably too small.
- Performance_schema_- xxx- Performance Schema status variables are listed in Section 29.16, “Performance Schema Status Variables”. These variables provide information about instrumentation that could not be loaded or created due to memory constraints. 
- The current number of prepared statements. (The maximum number of statements is given by the - max_prepared_stmt_countsystem variable.)
- The number of statements executed by the server. This variable includes statements executed within stored programs, unlike the - Questionsvariable. It does not count- COM_PINGor- COM_STATISTICScommands.- The discussion at the beginning of this section indicates how to relate this statement-counting status variable to other such variables. 
- The number of statements executed by the server. This includes only statements sent to the server by clients and not statements executed within stored programs, unlike the - Queriesvariable. This variable does not count- COM_PING,- COM_STATISTICS,- COM_STMT_PREPARE,- COM_STMT_CLOSE, or- COM_STMT_RESETcommands.- The discussion at the beginning of this section indicates how to relate this statement-counting status variable to other such variables. 
- Replica_open_temp_tablesshows the number of temporary tables that the replication SQL thread currently has open. If the value is greater than zero, it is not safe to shut down the replica; see Section 19.5.1.32, “Replication and Temporary Tables”. This variable reports the total count of open temporary tables for all replication channels.
- Indicates whether the resource group feature is supported. - On some platforms or MySQL server configurations, resource groups are unavailable or have limitations. In particular, Linux systems might require a manual step for some installation methods. For details, see Resource Group Restrictions. 
- The number of semisynchronous replicas. - Deprecated synonym for - Rpl_semi_sync_source_clients.
- Rpl_semi_sync_master_net_avg_wait_time- Deprecated synonym for - Rpl_semi_sync_source_net_avg_wait_time.
- Rpl_semi_sync_master_net_wait_time- Deprecated synonym for - Rpl_semi_sync_source_net_wait_time.
- Rpl_semi_sync_master_net_waits- The total number of times the source waited for replica replies. - Deprecated synonym for - Rpl_semi_sync_source_net_waits.
- Deprecated synonym for - Rpl_semi_sync_source_no_times.
- Deprecated synonym for - Rpl_semi_sync_source_no_tx.
- Deprecated synonym for - Rpl_semi_sync_source_status.
- Rpl_semi_sync_master_timefunc_failures- Deprecated synonym for - Rpl_semi_sync_source_timefunc_failures.
- Rpl_semi_sync_master_tx_avg_wait_time- Deprecated synonym for - Rpl_semi_sync_source_tx_avg_wait_time.
- Rpl_semi_sync_master_tx_wait_time- Deprecated synonym for - Rpl_semi_sync_source_tx_wait_time.
- Deprecated synonym for - Rpl_semi_sync_source_tx_waits.
- Rpl_semi_sync_master_wait_pos_backtraverse- Deprecated synonym for - Rpl_semi_sync_source_wait_pos_backtraverse.
- Rpl_semi_sync_master_wait_sessions- Deprecated synonym for - Rpl_semi_sync_source_wait_sessions.
- Deprecated synonym for - Rpl_semi_sync_source_yes_tx.
- The number of semisynchronous replicas. - Available when the - rpl_semi_sync_sourceplugin (- semisync_source.solibrary) is installed on the source.
- Rpl_semi_sync_source_net_avg_wait_time- The average time in microseconds the source waited for a replica reply. This variable is always - 0, and is deprecated; expect it to be removed in a future version.- Available when the - rpl_semi_sync_sourceplugin (- semisync_source.solibrary) is installed on the source.
- Rpl_semi_sync_source_net_wait_time- The total time in microseconds the source waited for replica replies. This variable is always - 0, and is deprecated; expect it to be removed in a future version.- Available when the - rpl_semi_sync_sourceplugin (- semisync_source.solibrary) is installed on the source.
- Rpl_semi_sync_source_net_waits- The total number of times the source waited for replica replies. - Available when the - rpl_semi_sync_sourceplugin (- semisync_source.solibrary) is installed on the source.
- The number of times the source turned off semisynchronous replication. - Available when the - rpl_semi_sync_sourceplugin (- semisync_source.solibrary) is installed on the source.
- The number of commits that were not acknowledged successfully by a replica. - Available when the - rpl_semi_sync_sourceplugin (- semisync_source.solibrary) is installed on the source.
- Whether semisynchronous replication currently is operational on the source. The value is - ONif the plugin has been enabled and a commit acknowledgment has occurred. It is- OFFif the plugin is not enabled or the source has fallen back to asynchronous replication due to commit acknowledgment timeout.- Available when the - rpl_semi_sync_sourceplugin (- semisync_source.solibrary) is installed on the source.
- Rpl_semi_sync_source_timefunc_failures- The number of times the source failed when calling time functions such as - gettimeofday().- Available when the - rpl_semi_sync_sourceplugin (- semisync_source.solibrary) is installed on the source.
- Rpl_semi_sync_source_tx_avg_wait_time- The average time in microseconds the source waited for each transaction. - Available when the - rpl_semi_sync_sourceplugin (- semisync_source.solibrary) is installed on the source.
- Rpl_semi_sync_source_tx_wait_time- The total time in microseconds the source waited for transactions. - Available when the - rpl_semi_sync_sourceplugin (- semisync_source.solibrary) is installed on the source.
- The total number of times the source waited for transactions. - Available when the - rpl_semi_sync_sourceplugin (- semisync_source.solibrary) is installed on the source.
- Rpl_semi_sync_source_wait_pos_backtraverse- The total number of times the source waited for an event with binary coordinates lower than events waited for previously. This can occur when the order in which transactions start waiting for a reply is different from the order in which their binary log events are written. - Available when the - rpl_semi_sync_sourceplugin (- semisync_source.solibrary) is installed on the source.
- Rpl_semi_sync_source_wait_sessions- The number of sessions currently waiting for replica replies. - Available when the - rpl_semi_sync_sourceplugin (- semisync_source.solibrary) is installed on the source.
- The number of commits that were acknowledged successfully by a replica. - Available when the - rpl_semi_sync_sourceplugin (- semisync_source.solibrary) is installed on the source.
- Shows whether semisynchronous replication is currently operational on the replica. This is - ONif the plugin has been enabled and the replication I/O (receiver) thread is running,- OFFotherwise.- Available when the - rpl_semi_sync_sourceplugin (- semisync_source.solibrary) is installed on the source.
- Deprecated synonym for - Rpl_semi_sync_replica_status.
- The value of this variable is the public key used by the - sha256_password(deprecated) authentication plugin for RSA key pair-based password exchange. The value is nonempty only if the server successfully initializes the private and public keys in the files named by the- sha256_password_private_key_pathand- sha256_password_public_key_pathsystem variables. The value of- Rsa_public_keycomes from the latter file.- For information about - sha256_password, see Section 8.4.1.2, “SHA-256 Pluggable Authentication”.
- Secondary_engine_execution_count- For use with MySQL HeatWave only. See Status Variables, for more information. 
- The number of joins that perform table scans because they do not use indexes. If this value is not 0, you should carefully check the indexes of your tables. 
- The number of joins that used a range search on a reference table. 
- The number of joins that used ranges on the first table. This is normally not a critical issue even if the value is quite large. 
- The number of joins without keys that check for key usage after each row. If this is not 0, you should carefully check the indexes of your tables. 
- The number of joins that did a full scan of the first table. 
- Deprecated alias for - Replica_open_temp_tables.
- Slave_rows_last_search_algorithm_used- Deprecated alias for - Replica_rows_last_search_algorithm_used.
- The number of threads that have taken more than - slow_launch_timeseconds to create.
- The number of queries that have taken more than - long_query_timeseconds. This counter increments regardless of whether the slow query log is enabled. For information about that log, see Section 7.4.5, “The Slow Query Log”.
- The number of merge passes that the sort algorithm has had to do. If this value is large, you should consider increasing the value of the - sort_buffer_sizesystem variable.
- The number of sorts that were done using ranges. 
- The number of sorted rows. 
- The number of sorts that were done by scanning the table. 
- The number of negotiates needed to establish the connection. 
- The number of accepted SSL connections. 
- The number of callback cache hits. 
- The current encryption cipher (empty for unencrypted connections). 
- The list of possible SSL ciphers (empty for non-SSL connections). If MySQL supports TLSv1.3, the value includes the possible TLSv1.3 ciphersuites. See Section 8.3.2, “Encrypted Connection TLS Protocols and Ciphers”. 
- The number of SSL connection attempts to an SSL-enabled replication source server. 
- The number of negotiates needed to establish the connection to an SSL-enabled replication source server. 
- The SSL context verification depth (how many certificates in the chain are tested). 
- The SSL context verification mode. 
- The default SSL timeout. 
- The number of successful SSL connections to the server. 
- The number of successful replica connections to an SSL-enabled replication source server. 
- The last date for which the SSL certificate is valid. To check SSL certificate expiration information, use this statement: - mysql> SHOW STATUS LIKE 'Ssl_server_not%'; +-----------------------+--------------------------+ | Variable_name | Value | +-----------------------+--------------------------+ | Ssl_server_not_after | Apr 28 14:16:39 2025 GMT | | Ssl_server_not_before | May 1 14:16:39 2015 GMT | +-----------------------+--------------------------+
- The first date for which the SSL certificate is valid. 
- The number of SSL session cache hits. 
- The number of SSL session cache misses. 
- The SSL session cache mode. When the value of the - ssl_session_cache_modeserver variable is- ON, the value of the- Ssl_session_cache_modestatus variable is- SERVER.
- The number of SSL session cache overflows. 
- The SSL session cache size. 
- The timeout value in seconds of SSL sessions in the cache. 
- The number of SSL session cache timeouts. 
- This is equal to 0 if TLS was not used in the current MySQL session, or if a TLS session has not been reused; otherwise it is equal to 1. - Ssl_sessions_reusedhas session scope.
- Ssl_used_session_cache_entries- How many SSL session cache entries were used. 
- The verification depth for replication SSL connections. 
- The verification mode used by the server for a connection that uses SSL. The value is a bitmask; bits are defined in the - openssl/ssl.hheader file:- # define SSL_VERIFY_NONE 0x00 # define SSL_VERIFY_PEER 0x01 # define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02 # define SSL_VERIFY_CLIENT_ONCE 0x04- SSL_VERIFY_PEERindicates that the server asks for a client certificate. If the client supplies one, the server performs verification and proceeds only if verification is successful.- SSL_VERIFY_CLIENT_ONCEindicates that a request for the client certificate is performed only in the initial handshake.
- The SSL protocol version of the connection (for example, TLSv1.2). If the connection is not encrypted, the value is empty. 
- The number of times that a request for a table lock could be granted immediately. 
- The number of times that a request for a table lock could not be granted immediately and a wait was needed. If this is high and you have performance problems, you should first optimize your queries, and then either split your table or tables or use replication. 
- The number of hits for open tables cache lookups. 
- The number of misses for open tables cache lookups. 
- The number of overflows for the open tables cache. This is the number of times, after a table is opened or closed, a cache instance has an unused entry and the size of the instance is larger than - table_open_cache/- table_open_cache_instances.
- Table_open_cache_triggers_hits- The number of cache hits for open tables with triggers. This number is incremented by 1 when a table with triggers is found by a data modification operation in the list of unused tables which have triggers in the table cache. When such a table is the subject of a read-only operation such as - SELECT, the table is handled as if it has no triggers, and- Table_open_cache_hitsis incremented instead.
- Table_open_cache_triggers_misses- The number of cache misses for open tables with triggers. This number is incremented by 1 when a table with triggers is not found by a pending data modification operation in the list of unused tables having triggers in the table cache. If the pending operation on the table is read-only, as in the case of a - SELECTstatement, the table is treated as if it has no triggers, and- Table_open_cache_missesis incremented instead.
- Table_open_cache_triggers_overflows- The number of cache overflows for open tables with triggers. This number is incremented by 1 when there are more tables with triggers in a given table cache instance than the maxmimum. That is, this status variable is incremented when - Table_open_cache_triggers_hitsexceeds maxmimum number per cache instance of tables with triggers; this maximum is determined by- table_open_cache_triggers- /- table_open_cache_instances.Note- Table_open_cache_triggers_hitsis affected only by data modification operations. Thus, when a read-only operation such as- SELECTaccesses a table with triggers,- Table_open_cache_triggers_overflowsis also unaffected. A read-only operation on a table with triggers increments- Table_open_cache_hits; if- Table_open_cache_hitsthen exceeds the limit determined by- table_open_cache/- table_open_cache_instances,- Table_open_cache_overflowsis incremented instead.
- For the memory-mapped implementation of the log that is used by mysqld when it acts as the transaction coordinator for recovery of internal XA transactions, this variable indicates the largest number of pages used for the log since the server started. If the product of - Tc_log_max_pages_usedand- Tc_log_page_sizeis always significantly less than the log size, the size is larger than necessary and can be reduced. (The size is set by the- --log-tc-sizeoption. This variable is unused: It is unneeded for binary log-based recovery, and the memory-mapped recovery log method is not used unless the number of storage engines that are capable of two-phase commit and that support XA transactions is greater than one. (- InnoDBis the only applicable engine.)
- The page size used for the memory-mapped implementation of the XA recovery log. The default value is determined using - getpagesize(). This variable is unused for the same reasons as described for- Tc_log_max_pages_used.
- For the memory-mapped implementation of the recovery log, this variable increments each time the server was not able to commit a transaction and had to wait for a free page in the log. If this value is large, you might want to increase the log size (with the - --log-tc-sizeoption). For binary log-based recovery, this variable increments each time the binary log cannot be closed because there are two-phase commits in progress. (The close operation waits until all such transactions are finished.)
- Whether server telemetry metrics is supported. - For more information, see the Server telemetry metrics service section in the MySQL Source Code documentation. 
- Displays whether the server was compiled with Telemetry logs support. - For more information, see the Server telemetry logs service section in the MySQL Source Code documentation and Chapter 35, Telemetry. 
- Displays the current number of sessions instrumented with telemetry. This can be useful when unloading the Telemetry component, to monitor how many sessions are blocking the unload operation. - For more information, see the Server telemetry traces service section in the MySQL Source Code documentation and Chapter 35, Telemetry. 
- Whether server telemetry traces is supported. - For more information, see the Server telemetry traces service section in the MySQL Source Code documentation. 
- Indicates the current initialization state of the Telemetry component. Codes include: - BOOT: The Telemetry component is loading.
- INSTALL: The Telemetry component is loaded and initializing.
- DETECT_RESOURCE: The Telemetry component has detected a resource provider and is checking the provider's availablility. If the provider is available, the resource detector is invoked. If the provider is unavailable, the Telemetry component waits until the provider is loaded.
- DECODE_SECRET: The Telemetry component is loading and has detected a- telemetry.secret_provideris configured.- If the secret provider component is available, the telemetry component invokes the secret provider. If the secret provider component is not available, the telemetry component waits until the secret provider component is loaded. 
- CONFIGURE: All necessary configuration is collected, including a resource from the resource provider, and secrets from the secret provider, if required, the telemetry component initialization proceeds to the component configuration.
- READY: Component configuration is successful.
- FAILED: Component configuration failed and did not complete.
- UNINSTALL: The Telemetry component is being removed and cleanup has begun.
 - For more information, see Chapter 35, Telemetry. 
- The number of internal temporary tables that were converted on-disk because the - TempTableengine reached the- temptable_max_ramlimit.
- The number of threads in the thread cache. 
- The number of currently open connections. 
- The number of threads created to handle connections. If - Threads_createdis big, you may want to increase the- thread_cache_sizevalue. The cache miss rate can be calculated as- Threads_created/- Connections.
- The number of threads that are not sleeping. 
- The runtime version of the OpenSSL library that is in use for this MySQL instance. 
- The Server Name Indication (SNI) that is in use for this session, if specified by the client; otherwise, empty. SNI is an extension to the TLS protocol (OpenSSL must be compiled using TLS extensions for this status variable to function). The MySQL implementation of SNI represents the client-side only. 
- The number of seconds that the server has been up. 
- The number of seconds since the most recent - FLUSH STATUSstatement.