MySQL offers a complex amount of information in commands like SHOW VARIABLES, SHOW STATUS and SHOW ENGINE INNODB STATUS. This 2-part tutorial will mine through the information to show how to use the information to make decisions about performance tuning and capacity planning. Sheeri Cabral of the Pythian group explains all the variables and how to use them in a way that a MySQL newbie can understand and a seasoned MySQL expert will learn something new. Part I: Basic MySQL Variables * System vs. Status variables * Variables relating to functions and features * Using more than one config file * MySQL files and directories * Global performance tuning variables (including optimizer variables) * Query tuning variables (sorts, joins, full table scans) * Replication variables * Variables used in logging * How to run SQL commands on server start, on slave start and on each client connection * Global memory variables (including query cache) * Global security variables * Connection and thread variables * Locale, character set, and collation variables * Variables affecting SQL behavior * Variables that are not used, or not useful.