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?



Hi, “innodb_page_size” could be set as a variable in MySQL 5.6
Cédric
31 Oct 12 at 10:17 am
Right, but it’s been in SHOW STATUS for many years. Now it’s in both places :)
Xaprb
31 Oct 12 at 11:18 am
http://www.pythian.com/news/2848/contradiction-for-the-day/ about “new” vs. “old” system variables (officially they’re “system variables” not “configuration variables”) – though “new” isn’t in MariaDB 5.5.
Also, http://www.pythian.com/news/2333/i-apparently-have_community_features/ although that’s also deprecated now.
Sheeri K. Cabral
31 Oct 12 at 11:31 am
Many of the SSL (Shouldn’t it be TLS anyway?) status variables depend on whether OpenSSL or YaSSL is used.
Daniël van Eeden
3 Nov 12 at 5:31 am