MySQL 5.7 Reference Manual Including MySQL NDB Cluster 7.5 and NDB Cluster 7.6
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 13.7.5.35, “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 5.1.5, “Server Status Variable Reference”. For information about status variables specific to NDB Cluster, see Section 21.4.3.9.3, “NDB Cluster Status Variables”.
The status variables have the meanings shown in the following list.
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_cache
table.
As of MySQL 5.7.3,
Aborted_connects
is not
visible in the embedded server because for that server it is
not updated and is not meaningful.
The number of transactions that used the temporary binary log
cache but that exceeded the value of
binlog_cache_size
and 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_use
status variable.
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_size
and
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.
The Com_
statement counter variables indicate the number of times each
xxx
xxx
statement has been executed.
There is one status variable for each type of statement. For
example, Com_delete
and
Com_update
count
DELETE
and
UPDATE
statements,
respectively. Com_delete_multi
and
Com_update_multi
are similar but apply to
DELETE
and
UPDATE
statements that use
multiple-table syntax.
If a query result is returned from query cache, the server
increments the Qcache_hits
status variable, not Com_select
. See
Section 8.10.3.4, “Query Cache Status and Maintenance”.
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_shutdown
variable that tracks
SHUTDOWN
statements normally
has a value of zero, but can be nonzero if
SHUTDOWN
statements 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_execute
and
Com_stmt_close
also 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_sql
increase for the
PREPARE
,
EXECUTE
, and
DEALLOCATE PREPARE
statements.
Com_stmt_fetch
stands for the total number
of network round-trips issued when fetching from cursors.
Com_stmt_reprepare
indicates the number of
times statements were automatically reprepared by the server
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_other
indicates the number of
EXPLAIN FOR
CONNECTION
statements executed. See
Section 8.8.4, “Obtaining Execution Plan Information for a Named Connection”.
Com_change_repl_filter
indicates the number
of CHANGE REPLICATION FILTER
statements executed.
Whether the client connection uses compression in the client/server protocol.
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 5.1.11.2, “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).
As of MySQL 5.7.3, the
Connection_errors_
status variables are not visible in the embedded server
because for that server they are not updated and are not
meaningful.
xxx
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_connections
limit 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
libwrap
library.
The number of connection attempts (successful or not) to the MySQL server.
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_tables
and
Created_tmp_tables
values.
See also Section 8.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_tables
and
Created_tmp_tables
values.
See also Section 8.4.4, “Internal Temporary Table Use in MySQL”.
Each invocation of the SHOW
STATUS
statement uses an internal temporary table
and increments the global
Created_tmp_tables
value.
This status variable is deprecated (because
DELAYED
inserts are not supported); expect
it to be removed in a future release.
This status variable is deprecated (because
DELAYED
inserts are not supported); expect
it to be removed in a future release.
This status variable is deprecated (because
DELAYED
inserts are not supported); expect
it to be removed in a future release.
The number of times the server flushes tables, whether because
a user executed a FLUSH TABLES
statement or due to internal server operation. It is also
incremented by receipt of a COM_REFRESH
packet. This is in contrast to
Com_flush
,
which indicates how many FLUSH
statements
have been executed, whether FLUSH
TABLES
, FLUSH LOGS
,
and so forth.
group_replication_primary_member
Shows the primary member's UUID when the group is operating in single-primary mode. If the group is operating in multi-primary mode, shows an empty string.
The number of internal COMMIT
statements.
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 col1
is
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.
The
Innodb_available_undo_logs
status variable is deprecated as of MySQL 5.7.19; expect it
to be removed in a future release.
The total number of available InnoDB
rollback
segments. Supplements the
innodb_rollback_segments
system variable, which defines the number of active rollback
segments.
One rollback segment always resides in the system tablespace,
and 32 rollback segments are reserved for use by temporary
tables and are hosted in the temporary tablespace
(ibtmp1
). See
Section 14.6.7, “Undo Logs”.
If you initiate a MySQL instance with 32 or fewer rollback
segments, InnoDB
still assigns one rollback
segment to the system tablespace and 32 rollback segments to
the temporary tablespace. In this case,
Innodb_available_undo_logs
reports 33
available rollback segments even though the instance was
initialized with a lesser
innodb_rollback_segments
value.
Innodb_buffer_pool_dump_status
The progress of an operation to record the
pages held in the
InnoDB
buffer pool, triggered
by the setting of
innodb_buffer_pool_dump_at_shutdown
or
innodb_buffer_pool_dump_now
.
For related information and examples, see Section 14.8.3.6, “Saving and Restoring the Buffer Pool State”.
Innodb_buffer_pool_load_status
The progress of an operation to
warm up the
InnoDB
buffer 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_startup
or
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 14.8.3.6, “Saving and Restoring the Buffer Pool State”.
The total number of bytes in the InnoDB
buffer 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
InnoDB
buffer pool containing
data. The number includes both
dirty and clean pages.
When using compressed
tables, the reported
Innodb_buffer_pool_pages_data
value 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
InnoDB
buffer 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 InnoDB
buffer pool.
Innodb_buffer_pool_pages_flushed
The number of requests to
flush
pages from the
InnoDB
buffer pool.
The number of free pages in
the InnoDB
buffer pool.
Innodb_buffer_pool_pages_latched
The number of latched pages
in the InnoDB
buffer 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_DEBUG
system is defined at server build time.
The number of pages in the
InnoDB
buffer 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_misc
may report an out-of-bounds value (Bug #59550).
Innodb_buffer_pool_pages_total
The total size of the InnoDB
buffer pool, in
pages. When using
compressed
tables, the reported
Innodb_buffer_pool_pages_data
value may be larger than
Innodb_buffer_pool_pages_total
(Bug #59550)
The number of pages read into
the InnoDB
buffer pool by the
read-ahead background
thread.
Innodb_buffer_pool_read_ahead_evicted
The number of pages read into
the InnoDB
buffer 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 InnoDB
could 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
InnoDB
buffer pool
dynamically, triggered by setting the
innodb_buffer_pool_size
parameter dynamically. The
innodb_buffer_pool_size
parameter is dynamic, which allows you to resize the buffer
pool without restarting the server. See
Configuring InnoDB Buffer Pool Size Online for related
information.
Normally, writes to the InnoDB
buffer pool happen in
the background. When InnoDB
needs to read
or create a page and no clean
pages are available, InnoDB
flushes some
dirty pages first and
waits for that operation to finish. This counter counts
instances of these waits. If
innodb_buffer_pool_size
has
been set properly, this value should be small.
Innodb_buffer_pool_write_requests
The number of writes done to the InnoDB
buffer pool.
The number of fsync()
operations so far.
The frequency of fsync()
calls is
influenced by the setting of the
innodb_flush_method
configuration option.
The current number of pending fsync()
operations. The frequency of fsync()
calls
is influenced by the setting of the
innodb_flush_method
configuration 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 14.12.1, “InnoDB Disk I/O”.
The number of doublewrite operations that have been performed. See Section 14.12.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 InnoDB
redo log.
The number of physical writes to the InnoDB
redo log file.
The number of files InnoDB
currently holds
open.
The number of fsync()
writes done to the
InnoDB
redo
log files.
The number of pending fsync()
operations
for the InnoDB
redo log files.
The number of pending writes to the InnoDB
redo log files.
The number of bytes written to the InnoDB
redo log files.
InnoDB
page 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
InnoDB
tables.
The number of pages read from the InnoDB
buffer pool by operations on InnoDB
tables.
The number of pages written by operations on
InnoDB
tables.
The number of row locks
currently being waited for by operations on
InnoDB
tables.
The total time spent in acquiring
row locks for
InnoDB
tables, in milliseconds.
The average time to acquire a
row lock for
InnoDB
tables, in milliseconds.
The maximum time to acquire a
row lock for
InnoDB
tables, in milliseconds.
The number of times operations on InnoDB
tables had to wait for a row
lock.
The number of rows deleted from InnoDB
tables.
The number of rows inserted into InnoDB
tables.
The number of rows read from InnoDB
tables.
The estimated number of rows updated in
InnoDB
tables.
This value is not meant to be 100% accurate. For an accurate
(but more expensive) result, use
ROW_COUNT()
.
Innodb_truncated_status_writes
The number of times output from the SHOW ENGINE
INNODB STATUS
statement has been truncated.
The number of key blocks in the MyISAM
key
cache that have changed but have not yet been flushed to disk.
The number of unused blocks in the MyISAM
key cache. You can use this value to determine how much of the
key cache is in use; see the discussion of
key_buffer_size
in
Section 5.1.7, “Server System Variables”.
The number of used blocks in the MyISAM
key
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
MyISAM
key cache.
The number of physical reads of a key block from disk into the
MyISAM
key cache. If
Key_reads
is large, then
your key_buffer_size
value 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
MyISAM
key cache.
The number of physical writes of a key block from the
MyISAM
key 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_cost
has
session scope.
Last_query_cost
can be computed accurately
only for simple, “flat” queries, but not for
complex queries such as those containing subqueries or
UNION
. For the latter, the
value is set to 0.
The number of iterations the query optimizer made in execution plan construction for the previous query.
Last_query_partial_plans
has session scope.
The number of attempts to connect to locked user accounts. For information about account locking and unlocking, see Section 6.2.15, “Account Locking”.
The number of SELECT
statements
for which the execution timeout was exceeded.
The number of SELECT
statements
for which a nonzero execution timeout was set. This includes
statements that include a nonzero
MAX_EXECUTION_TIME
optimizer
hint, and statements that include no such hint but execute
while the timeout indicated by the
max_execution_time
system
variable is nonzero.
The number of SELECT
statements
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_connections
reached
its current value.
This status variable is deprecated (because
DELAYED
inserts 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 12.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_anonymous_gtid_violating_transaction_count
This status variable is only available in debug builds. Shows
the number of ongoing transactions which use
gtid_next=ANONYMOUS
and that
violate GTID consistency.
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=AUTOMATIC
and 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 .frm
files.
The number of tables that are open.
The number of files that have been opened with
my_open()
(a mysys
library function). Parts of the server that open files without
using this function do not increment the count.
The number of .frm
files that have been
cached.
The number of tables that have been opened. If
Opened_tables
is big, your
table_open_cache
value is
probably too small.
Performance_schema_
xxx
Performance Schema status variables are listed in Section 25.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_count
system variable.)
The number of free memory blocks in the query cache.
The query cache is deprecated as of MySQL 5.7.20, and is
removed in MySQL 8.0. Deprecation includes
Qcache_free_blocks
.
The amount of free memory for the query cache.
The query cache is deprecated as of MySQL 5.7.20, and is
removed in MySQL 8.0. Deprecation includes
Qcache_free_memory
.
The number of query cache hits.
The discussion at the beginning of this section indicates how to relate this statement-counting status variable to other such variables.
The query cache is deprecated as of MySQL 5.7.20, and is
removed in MySQL 8.0. Deprecation includes
Qcache_hits
.
The number of queries added to the query cache.
The query cache is deprecated as of MySQL 5.7.20, and is
removed in MySQL 8.0. Deprecation includes
Qcache_inserts
.
The number of queries that were deleted from the query cache because of low memory.
The query cache is deprecated as of MySQL 5.7.20, and is
removed in MySQL 8.0. Deprecation includes
Qcache_lowmem_prunes
.
The number of noncached queries (not cacheable, or not cached
due to the query_cache_type
setting).
The query cache is deprecated as of MySQL 5.7.20, and is
removed in MySQL 8.0. Deprecation includes
Qcache_not_cached
.
The number of queries registered in the query cache.
The query cache is deprecated as of MySQL 5.7.20, and is
removed in MySQL 8.0. Deprecation includes
Qcache_queries_in_cache
.
The total number of blocks in the query cache.
The query cache is deprecated as of MySQL 5.7.20, and is
removed in MySQL 8.0. Deprecation includes
Qcache_total_blocks
.
The number of statements executed by the server. This variable
includes statements executed within stored programs, unlike
the Questions
variable. It
does not count COM_PING
or
COM_STATISTICS
commands.
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
Queries
variable. This
variable does not count COM_PING
,
COM_STATISTICS
,
COM_STMT_PREPARE
,
COM_STMT_CLOSE
, or
COM_STMT_RESET
commands.
The discussion at the beginning of this section indicates how to relate this statement-counting status variable to other such variables.
The number of semisynchronous replicas.
This variable is available only if the source-side semisynchronous replication plugin is installed.
Rpl_semi_sync_master_net_avg_wait_time
The average time in microseconds the source waited for a
replica reply. This variable is deprecated, always
0
; expect it to be in a future version.
This variable is available only if the source-side semisynchronous replication plugin is installed.
Rpl_semi_sync_master_net_wait_time
The total time in microseconds the source waited for replica
replies. This variable is deprecated, and is always
0
; expect it to be removed in a future
version.
This variable is available only if the source-side semisynchronous replication plugin is installed.
Rpl_semi_sync_master_net_waits
The total number of times the source waited for replica replies.
This variable is available only if the source-side semisynchronous replication plugin is installed.
The number of times the source turned off semisynchronous replication.
This variable is available only if the source-side semisynchronous replication plugin is installed.
The number of commits that were not acknowledged successfully by a replica.
This variable is available only if the source-side semisynchronous replication plugin is installed.
Whether semisynchronous replication currently is operational
on the source. The value is ON
if the
plugin has been enabled and a commit acknowledgment has
occurred. It is OFF
if the plugin is not
enabled or the source has fallen back to asynchronous
replication due to commit acknowledgment timeout.
This variable is available only if the source-side semisynchronous replication plugin is installed.
Rpl_semi_sync_master_timefunc_failures
The number of times the source failed when calling time
functions such as gettimeofday()
.
This variable is available only if the source-side semisynchronous replication plugin is installed.
Rpl_semi_sync_master_tx_avg_wait_time
The average time in microseconds the source waited for each transaction.
This variable is available only if the source-side semisynchronous replication plugin is installed.
Rpl_semi_sync_master_tx_wait_time
The total time in microseconds the source waited for transactions.
This variable is available only if the source-side semisynchronous replication plugin is installed.
The total number of times the source waited for transactions.
This variable is available only if the source-side semisynchronous replication plugin is installed.
Rpl_semi_sync_master_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.
This variable is available only if the source-side semisynchronous replication plugin is installed.
Rpl_semi_sync_master_wait_sessions
The number of sessions currently waiting for replica replies.
This variable is available only if the source-side semisynchronous replication plugin is installed.
The number of commits that were acknowledged successfully by a replica.
This variable is available only if the source-side semisynchronous replication plugin is installed.
Whether semisynchronous replication currently is operational
on the replica. This is ON
if the plugin
has been enabled and the replica I/O thread is running,
OFF
otherwise.
This variable is available only if the replica-side semisynchronous replication plugin is installed.
This variable is available if MySQL was compiled using OpenSSL
(see Section 6.3.4, “SSL Library-Dependent Capabilities”). Its value is the public
key used by the sha256_password
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_path
and
sha256_password_public_key_path
system variables. The value of
Rsa_public_key
comes from
the latter file.
For information about sha256_password
, see
Section 6.4.1.5, “SHA-256 Pluggable Authentication”.
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.
Shows the replication heartbeat interval (in seconds) on a replication replica.
This variable is affected by the value of the
show_compatibility_56
system
variable. For details, see
Effect of show_compatibility_56 on Slave Status Variables.
This variable only shows the status of the default
replication channel. To monitor any replication channel, use
the HEARTBEAT_INTERVAL
column in the
replication_connection_configuration
table for the replication channel.
Slave_heartbeat_period
is
deprecated and is removed in MySQL 8.0.
Shows when the most recent heartbeat signal was received by a
replica, as a TIMESTAMP
value.
This variable is affected by the value of the
show_compatibility_56
system
variable. For details, see
Effect of show_compatibility_56 on Slave Status Variables.
This variable only shows the status of the default
replication channel. To monitor any replication channel, use
the LAST_HEARTBEAT_TIMESTAMP
column in
the
replication_connection_status
table for the replication channel.
Slave_last_heartbeat
is
deprecated and is removed in MySQL 8.0.
The number of temporary tables that the replica SQL thread currently has open. If the value is greater than zero, it is not safe to shut down the replica; see Section 16.4.1.29, “Replication and Temporary Tables”. This variable reports the total count of open temporary tables for all replication channels.
This counter increments with each replication heartbeat
received by a replication replica since the last time that the
replica was restarted or reset, or a
CHANGE MASTER TO
statement was
issued.
This variable is affected by the value of the
show_compatibility_56
system
variable. For details, see
Effect of show_compatibility_56 on Slave Status Variables.
This variable only shows the status of the default
replication channel. To monitor any replication channel, use
the COUNT_RECEIVED_HEARTBEATS
column in
the
replication_connection_status
table for the replication channel.
Slave_received_heartbeats
is deprecated and is removed in MySQL 8.0.
The total number of times since startup that the replication replica SQL thread has retried transactions.
This variable is affected by the value of the
show_compatibility_56
system
variable. For details, see
Effect of show_compatibility_56 on Slave Status Variables.
This variable only shows the status of the default
replication channel. To monitor any replication channel, use
the COUNT_TRANSACTIONS_RETRIES
column in
the replication_applier_status
table for the replication channel.
Slave_retried_transactions
is deprecated and is removed in MySQL 8.0.
Slave_rows_last_search_algorithm_used
The search algorithm that was most recently used by this replica to locate rows for row-based replication. The result shows whether the replica used indexes, a table scan, or hashing as the search algorithm for the last transaction executed on any channel.
The method used depends on the setting for the
slave_rows_search_algorithms
system variable, and the keys that are available on the
relevant table.
This variable is available only for debug builds of MySQL.
This is ON
if this server is a replica that
is connected to a replication source, and both the I/O and SQL
threads are running; otherwise, it is OFF
.
This variable is affected by the value of the
show_compatibility_56
system
variable. For details, see
Effect of show_compatibility_56 on Slave Status Variables.
This variable only shows the status of the default
replication channel. To monitor any replication channel, use
the SERVICE_STATE
column in the
replication_applier_status
or
replication_connection_status
tables of the replication channel.
Slave_running
is
deprecated and is removed in MySQL 8.0.
The number of threads that have taken more than
slow_launch_time
seconds to
create.
This variable is not meaningful in the embedded server
(libmysqld
) and as of MySQL 5.7.2 is no
longer visible within the embedded server.
The number of queries that have taken more than
long_query_time
seconds. This
counter increments regardless of whether the slow query log is
enabled. For information about that log, see
Section 5.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_size
system 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).
The number of SSL connection attempts to an SSL-enabled source.
The number of negotiates needed to establish the connection to an SSL-enabled source.
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 source.
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.
The number of SSL session cache overflows.
The SSL session cache size.
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_reused
has 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.h
header 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_PEER
indicates 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_ONCE
indicates that a request for the client certificate is done
only in the initial handshake.
The SSL protocol version of the connection (for example, TLSv1). 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
.
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_used
and
Tc_log_page_size
is 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-size
option. 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. (InnoDB
is 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-size
option). 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.)
The number of threads in the thread cache.
This variable is not meaningful in the embedded server
(libmysqld
) and as of MySQL 5.7.2 is no
longer visible within the embedded server.
The number of currently open connections.
The number of threads created to handle connections. If
Threads_created
is big, you
may want to increase the
thread_cache_size
value. The
cache miss rate can be calculated as
Threads_created
/Connections
.
The number of threads that are not sleeping.
The number of seconds that the server has been up.
The number of seconds since the most recent FLUSH
STATUS
statement.