Status versus configuration variables

MySQL’s SHOW STATUS and SHOW VARIABLES commands (or queries against the corresponding INFORMATION_SCHEMA tables) don’t always show what they say. In particular, SHOW STATUS contains several rows that aren’t status-related, but are really configuration variables in my opinion (and it is an opinion – sometimes the difference isn’t black and white).

Here’s a short list of some status counters that I think are really better off as configuration variables:

  • Innodb_page_size
  • Slave_heartbeat_period
  • Ssl_cipher
  • Ssl_cipher_list
  • Ssl_ctx_verify_depth
  • Ssl_ctx_verify_mode
  • Ssl_default_timeout
  • Ssl_session_cache_mode
  • Ssl_verify_depth
  • Ssl_verify_mode
  • Ssl_version

Most of those are legacy, but Slave_heartbeat_period is a recent addition.

Can you think of others? What are your favorite oddities of SHOW STATUS and SHOW VARIABLES?

About The Author

Baron is the founder and CEO of VividCortex. He is the author of High Performance MySQL and many open-source tools for performance analysis, monitoring, and system administration. Baron contributes to various database communities such as Oracle, PostgreSQL, Redis and MongoDB.