opts_list = [
( 'General', [
	( 'Features', [
		{'caption': 'enable-locking', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (6, 0)), ((5, 5, 3),)], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Deprecated option, use --external-locking instead', 'name': 'enable-locking'},
		{'caption': 'enable-pstack', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (6, 0)), ((5, 5, 7),)], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Print a symbolic stack trace on failure', 'name': 'enable-pstack'},
		{'caption': 'event-scheduler', 'versions': [((5, 1, 6),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'OFF', 'type': 'enum', 'choice': ['ON', 'OFF', 'DISABLED']}], 'description': 'Enable/disable and start/stop the event scheduler. Note that this variable underwent significant changes in behavior and permitted values in MySQL 5.1.11 and 5.1.12', 'name': 'event-scheduler'},
		{'caption': 'federated', 'versions': [((5, 1, 26), (6, 0, 7)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'integer'}], 'description': 'Enables the FEDERATED storage engine', 'name': 'federated'},
		{'caption': 'isam', 'versions': [(), ((4, 1),), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Obsolete. ISAM storage engine is no longer supported', 'name': 'isam'},
		{'caption': 'plugin', 'versions': [(), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Prefix for specifying plugin-specific options.', 'name': 'plugin'},
		{'caption': 'plugin-load', 'versions': [((5, 1, 18),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Set the list of plugins to load at startup', 'name': 'plugin-load'},
		{'caption': 'plugin-load-add', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'type': 'string'}], 'description': 'Add to list of plugins to load at startup', 'name': 'plugin-load-add'},
		{'caption': 'profiling_history_size', 'versions': [((5, 0, 37), (5, 1, 24), (6, 0, 5)), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '15', 'minimum': '0', 'type': 'integer', 'maximum': '100'}], 'description': 'How many statements to maintain profiling information for', 'name': 'profiling_history_size'},
		{'caption': 'skip-partition', 'versions': [(), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Do not enable user-defined partitioning', 'name': 'skip-partition'}]),
	( 'Transactions', [
		{'optype': {'inversion': '5.5.8'}, 'description': 'Sets the autocommit mode', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'caption': 'autocommit', 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'autocommit'}]),
	( 'Memory usage', [
		{'caption': 'join_buffer_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '131072', 'outversion': (5, 1, 22), 'minimum': '8200', 'type': 'integer', 'maximum': '4294967295'}, {'platform': 'other', 'inversion': (5, 1, 23), 'minimum': '8200', 'default': '131072', 'bitsize': '32', 'type': 'integer', 'maximum': '4294967295', 'outversion': (5, 5, 2)}, {'platform': 'other', 'inversion': (5, 1, 23), 'minimum': '8228', 'default': '131072', 'bitsize': '64', 'type': 'integer', 'maximum': '18446744073709547520', 'outversion': (5, 5, 2)}, {'platform': 'windows', 'inversion': (5, 1, 23), 'minimum': '8200', 'default': '131072', 'bitsize': '32', 'type': 'integer', 'maximum': '4294967295', 'outversion': (5, 5, 2)}, {'platform': 'windows', 'inversion': (5, 1, 23), 'minimum': '8228', 'default': '131072', 'bitsize': '64', 'type': 'integer', 'maximum': '4294967295', 'outversion': (5, 5, 2)}, {'platform': 'other', 'inversion': (5, 5, 3), 'minimum': '128', 'default': '131072', 'bitsize': '32', 'type': 'integer', 'maximum': '4294967295', 'outversion': (5, 6, 5)}, {'platform': 'other', 'inversion': (5, 5, 3), 'minimum': '128', 'default': '131072', 'bitsize': '64', 'type': 'integer', 'maximum': '18446744073709547520', 'outversion': (5, 6, 5)}, {'inversion': (5, 5, 3), 'default': '131072', 'maximum': '4294967295', 'outversion': (5, 6, 5), 'platform': 'windows', 'minimum': '128', 'type': 'integer'}, {'inversion': (5, 6, 6), 'default': '262144', 'bitsize': '32', 'maximum': '4294967295', 'platform': 'other', 'minimum': '128', 'type': 'integer'}, {'inversion': (5, 6, 6), 'default': '262144', 'bitsize': '64', 'maximum': '18446744073709547520', 'platform': 'other', 'minimum': '128', 'type': 'integer'}, {'inversion': (5, 6, 6), 'default': '262144', 'maximum': '4294967295', 'platform': 'windows', 'minimum': '128', 'type': 'integer'}, {'inversion': (6, 0, 0), 'default': '131072', 'bitsize': '32', 'maximum': '4294967295', 'outversion': (6, 0, 8), 'minimum': '8200', 'type': 'integer'}, {'inversion': (6, 0, 9), 'default': '131072', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '128', 'type': 'integer'}, {'inversion': (6, 0, 0), 'default': '131072', 'bitsize': '64', 'maximum': '18446744073709547520', 'outversion': (6, 0, 8), 'minimum': '8200', 'type': 'integer'}, {'inversion': (6, 0, 9), 'default': '131072', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '128', 'type': 'integer'}], 'description': 'Size of buffer that is used for full joins', 'name': 'join_buffer_size'},
		{'caption': 'join_cache_level', 'versions': [((6, 0, 9),), ((6, 0),), ((6, 0, 14),)], 'values': [{'default': '1', 'minimum': '0', 'type': 'integer', 'maximum': '8'}], 'description': 'How join buffers are used', 'name': 'join_cache_level'},
		{'caption': 'large-pages', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'type': 'boolean', 'off': 'false', 'platform': 'linux'}], 'description': 'Enable support for large pages', 'name': 'large-pages'},
		{'caption': 'query_alloc_block_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '8192', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '1024', 'blocksize': '1024', 'type': 'integer'}, {'outversion': (5, 5, 2), 'default': '8192', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '1024', 'blocksize': '1024', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '8192', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '1024', 'blocksize': '1024', 'type': 'integer'}], 'description': 'Allocation block size for query parsing and execution', 'name': 'query_alloc_block_size'},
		{'caption': 'sort_buffer_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '2097144', 'outversion': (5, 1, 22), 'minimum': '32768', 'type': 'integer', 'maximum': '4294967295'}, {'platform': 'other', 'inversion': (5, 1, 23), 'minimum': '32768', 'default': '2097144', 'bitsize': '32', 'type': 'integer', 'maximum': '4294967295', 'outversion': (5, 6, 3)}, {'platform': 'other', 'inversion': (5, 1, 23), 'minimum': '32768', 'default': '2097144', 'bitsize': '64', 'type': 'integer', 'maximum': '18446744073709551615', 'outversion': (5, 6, 3)}, {'inversion': (5, 1, 23), 'default': '2097144', 'maximum': '4294967295', 'outversion': (5, 6, 3), 'platform': 'windows', 'minimum': '32768', 'type': 'integer'}, {'inversion': (5, 6, 4), 'default': '262144', 'bitsize': '32', 'maximum': '4294967295', 'platform': 'other', 'minimum': '32768', 'type': 'integer'}, {'inversion': (5, 6, 4), 'default': '262144', 'bitsize': '64', 'maximum': '18446744073709551615', 'platform': 'other', 'minimum': '32768', 'type': 'integer'}, {'inversion': (5, 6, 4), 'default': '262144', 'maximum': '4294967295', 'platform': 'windows', 'minimum': '32768', 'type': 'integer'}], 'description': 'Each thread that needs to do a sort allocates a buffer of this size', 'name': 'sort_buffer_size'}]),
	( 'Informational', [
		{'caption': 'server-id', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Uniquely identifies the server instance in the community of replication partners. Must be set to a value greater than 0 to enable replication.', 'name': 'server-id'}]),
	( 'Directories', [
		{'caption': 'basedir', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'Path of installation directory', 'name': 'basedir'},
		{'caption': 'datadir', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'Path of data directory', 'name': 'datadir'},
		{'caption': 'plugin_dir', 'versions': [((4, 1, 25), (5, 0, 67), (5, 1, 2)), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '', 'outversion': (5, 1, 1), 'type': 'dirname'}, {'default': '{basedir}/lib/plugin', 'platform': 'windows', 'inversion': (5, 1, 2), 'type': 'dirname', 'outversion': (5, 4, 99)}, {'default': '{basedir}/lib/plugin', 'platform': 'windows', 'inversion': (5, 5, 0), 'type': 'dirname', 'outversion': (5, 5, 4)}, {'default': '{basedir}/lib/mysql/plugin', 'platform': 'other', 'inversion': (5, 1, 2), 'type': 'dirname', 'outversion': (5, 4, 99)}, {'default': '{basedir}/lib/mysql/plugin', 'platform': 'other', 'inversion': (5, 5, 0), 'type': 'dirname', 'outversion': (5, 5, 4)}, {'default': '{basedir}/lib/plugin', 'inversion': (5, 5, 5), 'type': 'dirname'}], 'description': 'Directory for plugins', 'name': 'plugin_dir'},
		{'caption': 'tmpdir', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'Path for temporary files', 'name': 'tmpdir'}]),
	( 'System', [
		{'caption': 'core-file', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Write core file on server crashes', 'name': 'core-file'},
		{'caption': 'external-locking', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Use system (external) locking', 'name': 'external-locking'},
		{'caption': 'gdb', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Set up signals usable for debugging', 'name': 'gdb'},
		{'caption': 'ignore-db-dir', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'type': 'dirname'}], 'description': 'Treat directory as nondatabase directory', 'name': 'ignore-db-dir'},
		{'caption': 'lower_case_table_names', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '2'}], 'description': 'If set to 1, table names are stored in lowercase on disk and table names will be case insensitive. Should be set to 2 if you are using a case-insensitive file system.', 'name': 'lower_case_table_names'},
		{'caption': 'pid-file', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'Process ID file used by mysqld_safe', 'name': 'pid-file'},
		{'caption': 'skip-host-cache', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': "Don't cache host names", 'name': 'skip-host-cache'},
		{'caption': 'skip-locking', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (6, 0)), ((5, 5, 3),)], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Deprecated option', 'name': 'skip-locking'},
		{'caption': 'skip-safemalloc', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (6, 0)), ((5, 5, 6),)], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': "Don't check for memory overruns during each memory allocation", 'name': 'skip-safemalloc'},
		{'caption': 'skip-stack-trace', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': "Don't print a stack trace on failure", 'name': 'skip-stack-trace'},
		{'caption': 'skip-symlink', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (6, 0)), ((5, 5, 3),)], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': "Don't allow symlinking of tables. Deprecated option. Use --skip-symbolic-links.", 'name': 'skip-symlink'},
		{'caption': 'skip_external_locking', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Skip system (external) locking', 'name': 'skip_external_locking'},
		{'description': 'Use symbolic links', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'disabledby': 'skip-symbolic-links', 'caption': 'symbolic-links', 'values': [{'on': '1', 'off': '0', 'type': 'boolean'}], 'name': 'symbolic-links'},
		{'caption': 'sysdate-is-now', 'versions': [((5, 0, 20), (5, 1, 8)), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Nondefault option to alias SYSDATE() to NOW() to make it safe-replicable', 'name': 'sysdate-is-now'},
		{'caption': 'use-symbolic-links', 'versions': [(), ((5, 1), (5, 4), (6, 0)), ()], 'values': [{'default': 'true', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Enable symbolic link support. Deprecated option. Use --symbolic-links.', 'name': 'use-symbolic-links'},
		{'caption': 'user', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Run mysqld daemon as user', 'name': 'user'}]),
	( 'General', [
		{'caption': 'big-tables', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Allow big result sets by saving all temporary sets on file', 'name': 'big-tables'},
		{'caption': 'default-storage-engine', 'versions': [((4, 1, 2),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'MyISAM', 'outversion': (5, 5, 4), 'type': 'enum'}, {'default': 'InnoDB', 'inversion': (5, 5, 5), 'type': 'enum'}, {'default': 'MyISAM', 'inversion': (6, 0, 0), 'type': 'enum'}], 'description': 'The default storage engine (table type) for tables', 'name': 'default-storage-engine'},
		{'caption': 'default-table-type', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (6, 0)), ((6, 0, 8),)], 'values': [{'type': 'string'}], 'description': 'This option is a synonym for --default-storage-engine', 'name': 'default-table-type'},
		{'caption': 'default_tmp_storage_engine', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'InnoDB', 'type': 'enum'}], 'description': 'The default storage engine (table type) for TEMPORARY tables', 'name': 'default_tmp_storage_engine'},
		{'caption': 'init-file', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'Read SQL statements from this file at startup', 'name': 'init-file'},
		{'caption': 'lock_wait_timeout', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '31536000', 'minimum': '1', 'type': 'integer', 'maximum': '31536000'}], 'description': 'Timeout for metadata locks', 'name': 'lock_wait_timeout'},
		{'caption': 'max_long_data_size', 'versions': [((5, 1, 57), (5, 5, 11)), ((5, 1), (5, 5)), ()], 'values': [{'default': '1048576', 'minimum': '1024', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Max size of parameter values that mysql_stmt_send_long_data() can send', 'name': 'max_long_data_size'},
		{'optype': {'format': 'max_statement_time=#'}, 'description': 'Statement timeout value', 'versions': [((5, 7, 4),), ((5, 7),), ()], 'caption': 'max_statement_time', 'values': [{'default': '0', 'type': 'integer'}], 'name': 'max_statement_time'},
		{'caption': 'old', 'versions': [((5, 1, 18),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Cause the server to revert to certain behaviors present in older versions', 'name': 'old'},
		{'caption': 'one-thread', 'versions': [(), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (6, 0)), ((5, 6, 1),)], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Only use one thread (for debugging under Linux)', 'name': 'one-thread'},
		{'optype': {'format': 'session_track_gtids=[value]'}, 'description': 'Enables a tracker which can be configured to track different GTIDs.', 'versions': [((5, 7, 6),), ((5, 7),), ()], 'caption': 'session_track_gtids', 'values': [{'default': 'OFF', 'type': 'enum', 'choice': ['OFF', 'OWN_GTID', 'ALL_GTIDS ']}], 'name': 'session_track_gtids'},
		{'optype': {'format': 'session_track_schema=#'}, 'description': 'Whether to track schema changes', 'versions': [((5, 7, 4),), ((5, 7),), ()], 'caption': 'session_track_schema', 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'session_track_schema'},
		{'optype': {'format': 'session_track_state_change=#'}, 'description': 'Whether to track session state changes', 'versions': [((5, 7, 4),), ((5, 7),), ()], 'caption': 'session_track_state_change', 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'session_track_state_change'},
		{'optype': {'format': 'session_track_system_variables=#'}, 'description': 'Session variables to track changes for', 'versions': [((5, 7, 4),), ((5, 7),), ()], 'caption': 'session_track_system_variables', 'values': [{'default': 'time_zone, autocommit, character_set_client, character_set_results, character_set_connection', 'type': 'string'}], 'name': 'session_track_system_variables'},
		{'caption': 'stored_program_cache', 'versions': [((5, 5, 21), (5, 6, 5)), ((5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '256', 'outversion': (5, 7, 5), 'minimum': '256', 'type': 'integer', 'maximum': '524288'}, {'default': '256', 'inversion': (5, 7, 6), 'minimum': '16', 'type': 'integer', 'maximum': '524288'}], 'description': 'Sets a "soft" upper limit for number of cached stored routines per connection. Stored procedures and stored functions are cached separately; this variable sets size for both of these.', 'name': 'stored_program_cache'},
		{'caption': 'super-large-pages', 'versions': [((5, 5, 3),), ((5, 4), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'false', 'on': 'true', 'type': 'boolean', 'off': 'false', 'platform': 'solaris'}], 'description': 'Enable support for super large pages', 'name': 'super-large-pages'}]),
	( 'Firewall', [
		{'caption': 'mysql_firewall_max_query_size', 'versions': [((5, 6, 24),), ((5, 6),), ()], 'values': [{'default': '4096', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Maximum size of recorded statements', 'name': 'mysql_firewall_max_query_size'},
		{'caption': 'mysql_firewall_mode', 'versions': [((5, 6, 24),), ((5, 6),), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether MySQL Enterprise Firewall is operational', 'name': 'mysql_firewall_mode'},
		{'caption': 'mysql_firewall_trace', 'versions': [((5, 6, 24),), ((5, 6),), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to enable firewall trace', 'name': 'mysql_firewall_trace'}]),
	( 'SQL', [
		{'caption': 'ansi', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Use ANSI SQL syntax instead of MySQL syntax', 'name': 'ansi'},
		{'caption': 'explicit_defaults_for_timestamp', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Whether TIMESTAMP columns are nullable and have DEFAULT NULL', 'name': 'explicit_defaults_for_timestamp'},
		{'caption': 'sql-bin-update-same', 'versions': [(), ((4, 1),), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'The update log is deprecated since version 5.0, is replaced by the binary log and this option does nothing anymore', 'name': 'sql-bin-update-same'},
		{'caption': 'sql-mode', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': "''", 'inversion': (4, 1, 0), 'type': 'set', 'outversion': (5, 6, 5), 'choice': ['ALLOW_INVALID_DATES', 'ANSI_QUOTES', 'ERROR_FOR_DIVISION_BY_ZERO', 'HIGH_NOT_PRECEDENCE', 'IGNORE_SPACE', 'NO_AUTO_CREATE_USER', 'NO_AUTO_VALUE_ON_ZERO', 'NO_BACKSLASH_ESCAPES', 'NO_DIR_IN_CREATE', 'NO_ENGINE_SUBSTITUTION', 'NO_FIELD_OPTIONS', 'NO_KEY_OPTIONS', 'NO_TABLE_OPTIONS', 'NO_UNSIGNED_SUBTRACTION', 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE', 'ONLY_FULL_GROUP_BY', 'PAD_CHAR_TO_FULL_LENGTH', 'PIPES_AS_CONCAT', 'REAL_AS_FLOAT', 'STRICT_ALL_TABLES', 'STRICT_TRANS_TABLES']}, {'default': 'NO_ENGINE_SUBSTITUTION', 'inversion': (5, 6, 6), 'type': 'set', 'outversion': (5, 7, 4), 'choice': ['ALLOW_INVALID_DATES', 'ANSI_QUOTES', 'ERROR_FOR_DIVISION_BY_ZERO', 'HIGH_NOT_PRECEDENCE', 'IGNORE_SPACE', 'NO_AUTO_CREATE_USER', 'NO_AUTO_VALUE_ON_ZERO', 'NO_BACKSLASH_ESCAPES', 'NO_DIR_IN_CREATE', 'NO_ENGINE_SUBSTITUTION', 'NO_FIELD_OPTIONS', 'NO_KEY_OPTIONS', 'NO_TABLE_OPTIONS', 'NO_UNSIGNED_SUBTRACTION', 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE', 'ONLY_FULL_GROUP_BY', 'PAD_CHAR_TO_FULL_LENGTH', 'PIPES_AS_CONCAT', 'REAL_AS_FLOAT', 'STRICT_ALL_TABLES', 'STRICT_TRANS_TABLES']}, {'default': 'ONLY_FULL_GROUP_BY,NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES', 'inversion': (5, 7, 5), 'type': 'set', 'outversion': (5, 7, 6), 'choice': ['ALLOW_INVALID_DATES', 'ANSI_QUOTES', 'ERROR_FOR_DIVISION_BY_ZERO', 'HIGH_NOT_PRECEDENCE', 'IGNORE_SPACE', 'NO_AUTO_CREATE_USER', 'NO_AUTO_VALUE_ON_ZERO', 'NO_BACKSLASH_ESCAPES', 'NO_DIR_IN_CREATE', 'NO_ENGINE_SUBSTITUTION', 'NO_FIELD_OPTIONS', 'NO_KEY_OPTIONS', 'NO_TABLE_OPTIONS', 'NO_UNSIGNED_SUBTRACTION', 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE', 'ONLY_FULL_GROUP_BY', 'PAD_CHAR_TO_FULL_LENGTH', 'PIPES_AS_CONCAT', 'REAL_AS_FLOAT', 'STRICT_ALL_TABLES', 'STRICT_TRANS_TABLES']}, {'default': 'ONLY_FULL_GROUP_BY,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES', 'inversion': (5, 7, 7), 'type': 'set', 'choice': ['ALLOW_INVALID_DATES', 'ANSI_QUOTES', 'ERROR_FOR_DIVISION_BY_ZERO', 'HIGH_NOT_PRECEDENCE', 'IGNORE_SPACE', 'NO_AUTO_CREATE_USER', 'NO_AUTO_VALUE_ON_ZERO', 'NO_BACKSLASH_ESCAPES', 'NO_DIR_IN_CREATE', 'NO_ENGINE_SUBSTITUTION', 'NO_FIELD_OPTIONS', 'NO_KEY_OPTIONS', 'NO_TABLE_OPTIONS', 'NO_UNSIGNED_SUBTRACTION', 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE', 'ONLY_FULL_GROUP_BY', 'PAD_CHAR_TO_FULL_LENGTH', 'PIPES_AS_CONCAT', 'REAL_AS_FLOAT', 'STRICT_ALL_TABLES', 'STRICT_TRANS_TABLES']}], 'description': 'Set the SQL server mode', 'name': 'sql-mode'}]),
	( 'International', [
		{'caption': 'character-set-filesystem', 'versions': [((5, 0, 19), (5, 1, 6)), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'binary', 'type': 'string'}], 'description': 'Set the file system character set', 'name': 'character-set-filesystem'},
		{'caption': 'character-set-server', 'versions': [((4, 1, 3),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'latin1', 'type': 'string'}], 'description': 'Specify default character set', 'name': 'character-set-server'},
		{'caption': 'character-sets-dir', 'versions': [((4, 1, 2),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'Directory where character sets are installed', 'name': 'character-sets-dir'},
		{'caption': 'collation-server', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'latin1_swedish_ci', 'type': 'string'}], 'description': 'Specify default collation', 'name': 'collation-server'},
		{'caption': 'default-character-set', 'versions': [((4, 1, 3),), ((4, 1), (5, 0), (5, 1), (5, 5)), ((5, 5, 3),)], 'values': [{'type': 'string'}], 'description': 'Specify default character set', 'name': 'default-character-set'},
		{'caption': 'default-collation', 'versions': [(), ((4, 1),), ()], 'values': [{'type': 'string'}], 'description': 'Specify default collation', 'name': 'default-collation'},
		{'caption': 'default-time-zone', 'versions': [((4, 1, 3),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Specify default time zone', 'name': 'default-time-zone'},
		{'caption': 'default_week_format', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '7'}], 'description': 'The default week format used by WEEK() functions', 'name': 'default_week_format'},
		{'caption': 'language', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '/usr/local/mysql/share/mysql/english/', 'type': 'dirname'}], 'description': 'Client error messages in given language. May be given as a full path', 'name': 'language'},
		{'caption': 'lc-messages', 'versions': [((6, 0, 14),), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'en_US', 'type': 'string'}], 'description': 'Locale for error messages', 'name': 'lc-messages'},
		{'caption': 'lc-messages-dir', 'versions': [((6, 0, 14),), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'Directory where error messages are installed', 'name': 'lc-messages-dir'},
		{'caption': 'skip-character-set-client-handshake', 'versions': [((4, 1, 15), (5, 0, 13)), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Ignore client side character set value sent during handshake', 'name': 'skip-character-set-client-handshake'}]),
	( 'Backup', [
		{'caption': 'backup_history_log', 'versions': [((6, 0, 8),), ((6, 0),), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enable or disable MySQL Backup history log', 'name': 'backup_history_log'},
		{'caption': 'backup_history_log_file', 'versions': [((6, 0, 8),), ((6, 0),), ()], 'values': [{'default': 'backup_history.log', 'type': 'filename'}], 'description': 'Name of the MySQL Backup history log file', 'name': 'backup_history_log_file'},
		{'caption': 'backup_progress_log', 'versions': [((6, 0, 8),), ((6, 0),), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enable or disable MySQL Backup progress log', 'name': 'backup_progress_log'},
		{'caption': 'backup_progress_log_file', 'versions': [((6, 0, 8),), ((6, 0),), ()], 'values': [{'default': 'backup_progress.log', 'type': 'filename'}], 'description': 'Name of the MySQL Backup progress log file', 'name': 'backup_progress_log_file'},
		{'caption': 'backupdir', 'versions': [((6, 0, 7),), ((6, 0),), ()], 'values': [{'type': 'dirname'}], 'description': 'Default backup image file directory', 'name': 'backupdir'},
		{'caption': 'log-backup-output', 'versions': [((6, 0, 8),), ((6, 0),), ()], 'values': [{'default': 'TABLE', 'type': 'set', 'choice': ['TABLE', 'FILE', 'NONE']}], 'description': 'The destination for MySQL Backup history and progress log output. Syntax: log-backup-output[=value[,value...]], where "value" could be TABLE, FILE, or NONE', 'name': 'log-backup-output'},
		{'caption': 'mysql-backup', 'versions': [((6, 0, 14),), ((6, 0),), ()], 'values': [], 'description': 'Enable MySQL Backup features', 'name': 'mysql-backup'}])]),
( 'Logging', [
	( 'Audit', [
		{'optype': {'format': 'audit-log[=value]'}, 'description': 'Whether to activate the audit log plugin', 'versions': [((5, 5, 28), (5, 6, 10)), ((5, 5), (5, 6)), ()], 'caption': 'audit-log', 'values': [{'default': 'ON', 'type': 'enum', 'choice': ['ON', 'OFF', 'FORCE', 'FORCE_PLUS_PERMANENT']}], 'name': 'audit-log'},
		{'optype': {'format': 'audit_log_buffer_size=value'}, 'description': 'The size of the audit log buffer', 'versions': [((5, 5, 28), (5, 6, 10)), ((5, 5), (5, 6)), ()], 'caption': 'audit_log_buffer_size', 'values': [{'default': '1048576', 'bitsize': '32', 'minimum': '4096', 'type': 'integer', 'maximum': '4294967295'}, {'default': '1048576', 'bitsize': '64', 'minimum': '4096', 'type': 'integer', 'maximum': '18446744073709547520'}], 'name': 'audit_log_buffer_size'},
		{'optype': {'format': 'audit_log_connection_policy=value'}, 'description': 'Audit logging policy for connection-related events', 'versions': [((5, 6, 20),), ((5, 6),), ()], 'caption': 'audit_log_connection_policy', 'values': [{'default': 'ALL', 'type': 'enum', 'choice': ['ALL', 'ERRORS', 'NONE']}], 'name': 'audit_log_connection_policy'},
		{'optype': {'format': 'audit_log_exclude_accounts=value'}, 'description': 'Accounts not to audit', 'versions': [((5, 6, 20),), ((5, 6),), ()], 'caption': 'audit_log_exclude_accounts', 'values': [{'default': 'NULL', 'type': 'string'}], 'name': 'audit_log_exclude_accounts'},
		{'optype': {'format': 'audit_log_file=file_name'}, 'description': 'The name of the audit log file', 'versions': [((5, 5, 28), (5, 6, 10)), ((5, 5), (5, 6)), ()], 'caption': 'audit_log_file', 'values': [{'default': 'audit.log', 'type': 'filename'}], 'name': 'audit_log_file'},
		{'optype': {'format': 'audit_log_format=value'}, 'description': 'The audit log file format', 'versions': [((5, 5, 34), (5, 6, 14)), ((5, 5), (5, 6)), ()], 'caption': 'audit_log_format', 'values': [{'default': 'OLD', 'inversion': (5, 5, 34), 'type': 'enum', 'outversion': (5, 5, 99), 'choice': ['OLD', 'NEW']}, {'default': 'OLD', 'inversion': (5, 6, 14), 'type': 'enum', 'outversion': (5, 6, 99), 'choice': ['OLD', 'NEW']}, {'default': 'NEW', 'inversion': (5, 7, 3), 'type': 'enum', 'choice': ['OLD', 'NEW']}], 'name': 'audit_log_format'},
		{'optype': {'format': 'audit_log_include_accounts=value'}, 'description': 'Accounts to audit', 'versions': [((5, 6, 20),), ((5, 6),), ()], 'caption': 'audit_log_include_accounts', 'values': [{'default': 'NULL', 'type': 'string'}], 'name': 'audit_log_include_accounts'},
		{'optype': {'format': 'audit_log_policy=value'}, 'description': 'Audit logging policy', 'versions': [((5, 5, 28), (5, 6, 10)), ((5, 5), (5, 6)), ()], 'caption': 'audit_log_policy', 'values': [{'default': 'ALL', 'type': 'enum', 'choice': ['ALL', 'LOGINS', 'QUERIES', 'NONE']}], 'name': 'audit_log_policy'},
		{'optype': {'format': 'audit_log_rotate_on_size=N'}, 'description': 'Close and reopen the audit log file at a certain size', 'versions': [((5, 5, 28), (5, 6, 10)), ((5, 5), (5, 6)), ()], 'caption': 'audit_log_rotate_on_size', 'values': [{'default': '0', 'type': 'integer'}], 'name': 'audit_log_rotate_on_size'},
		{'optype': {'format': 'audit_log_statement_policy=value'}, 'description': 'Audit logging policy for statement-related events', 'versions': [((5, 6, 20),), ((5, 6),), ()], 'caption': 'audit_log_statement_policy', 'values': [{'default': 'ALL', 'type': 'enum', 'choice': ['ALL', 'ERRORS', 'NONE']}], 'name': 'audit_log_statement_policy'},
		{'optype': {'format': 'audit_log_strategy=value'}, 'description': 'The audit logging strategy', 'versions': [((5, 5, 28), (5, 6, 10)), ((5, 5), (5, 6)), ()], 'caption': 'audit_log_strategy', 'values': [{'default': 'ASYNCHRONOUS', 'type': 'enum', 'choice': ['ASYNCHRONOUS', 'PERFORMANCE', 'SEMISYNCHRONOUS', 'SYNCHRONOUS']}], 'name': 'audit_log_strategy'}]),
	( 'Slow query log options', [
		{'caption': 'log-slow-admin-statements', 'versions': [((4, 1, 13),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ((5, 6, 11), (5, 7, 1))], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Log slow OPTIMIZE, ANALYZE, ALTER and other administrative statements to the slow query log if it is open', 'name': 'log-slow-admin-statements'},
		{'caption': 'log-slow-queries', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (6, 0)), ((5, 6, 1),)], 'values': [{'on': '1', 'off': '0', 'type': 'boolean'}], 'description': 'Whether to log slow queries. Logging defaults to hostname-slow.log file. Must be enabled to activate other slow query log options', 'name': 'log-slow-queries'},
		{'caption': 'log-slow-slave-statements', 'versions': [((5, 1, 21), (6, 0, 4)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ((5, 6, 11), (5, 7, 1))], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Cause slow statements as executed by the slave to be written to the slow query log', 'name': 'log-slow-slave-statements'},
		{'caption': 'long_query_time', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '10', 'outversion': (5, 0, 20), 'minimum': '1', 'type': 'integer'}, {'default': '10', 'inversion': (5, 0, 21), 'minimum': '0', 'type': 'numeric'}, {'default': '10', 'inversion': (6, 0, 0), 'minimum': '1', 'type': 'numeric', 'outversion': (6, 0, 3)}, {'default': '10', 'inversion': (6, 0, 4), 'minimum': '0', 'type': 'numeric'}], 'description': 'Log all queries that have taken more than long_query_time seconds to execute to file', 'name': 'long_query_time'},
		{'caption': 'slow_query_log_file', 'versions': [((5, 1, 12),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'host_name-slow.log', 'type': 'filedownload'}], 'description': 'Name of the slow query log file', 'name': 'slow_query_log_file'}]),
	( 'Advanced log options', [
		{'caption': 'expire_logs_days', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '99'}], 'description': 'If nonzero, binary logs will be purged after expire_logs_days days; possible purges happen at startup and at binary log rotation', 'name': 'expire_logs_days'},
		{'caption': 'log-long-format', 'versions': [(), ((4, 1),), ()], 'values': [], 'description': 'Log some extra information to update log. Please note that this option is deprecated; see --log-short-format option', 'name': 'log-long-format'},
		{'caption': 'log-tc', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'tc.log', 'type': 'filename'}], 'description': 'Path of transaction coordinator log file (used for transactions that affect more than one storage engine, when binary log is disabled)', 'name': 'log-tc'},
		{'caption': 'log-tc-size', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '24576', 'bitsize': '32', 'type': 'integer', 'maximum': '4294967295'}, {'default': '24576', 'bitsize': '64', 'outversion': (5, 5, 2), 'type': 'integer', 'maximum': '18446744073709547520'}, {'default': '24576', 'bitsize': '64', 'inversion': (5, 5, 3), 'type': 'integer', 'maximum': '18446744073709551615'}], 'description': 'Size in KB of transaction coordinator log', 'name': 'log-tc-size'},
		{'optype': {'format': 'log-warnings[=#]'}, 'description': 'Log some noncritical warnings to the log file', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'caption': 'log-warnings', 'values': [{'inversion': (4, 1, 3), 'default': '1', 'bitsize': '32', 'maximum': '4294967295', 'outversion': (5, 7, 1), 'minimum': '0', 'type': 'integer'}, {'inversion': (4, 1, 3), 'default': '1', 'bitsize': '64', 'maximum': '18446744073709547520', 'outversion': (5, 5, 2), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '1', 'bitsize': '64', 'maximum': '18446744073709551615', 'outversion': (5, 7, 1), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 7, 2), 'default': '2', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 7, 2), 'default': '2', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '0', 'type': 'integer'}], 'name': 'log-warnings'}]),
	( 'General', [
		{'caption': 'console', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'on': '1', 'type': 'boolean', 'off': '0', 'platform': 'windows'}], 'description': 'Write error output on screen; do not remove the console window on Windows', 'name': 'console'},
		{'caption': 'general-log', 'versions': [((5, 1, 12),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enable|disable general log', 'name': 'general-log'},
		{'optype': {'inversion': '5.1.29'}, 'description': 'Name of the general query log file', 'versions': [((5, 1, 12),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'caption': 'general_log_file', 'values': [{'default': 'host_name.log', 'type': 'filedownload'}], 'name': 'general_log_file'},
		{'caption': 'log', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (6, 0)), ((5, 6, 1),)], 'values': [{'type': 'filename'}], 'description': 'Log connections and queries to file', 'name': 'log'},
		{'caption': 'log-error', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'Error log file', 'name': 'log-error'},
		{'caption': 'log-isam', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'Log all MyISAM changes to file', 'name': 'log-isam'},
		{'caption': 'log-output', 'versions': [((5, 1, 6),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'FILE', 'type': 'set', 'choice': ['TABLE', 'FILE', 'NONE']}], 'description': 'The destination for general query log and slow query log output', 'name': 'log-output'},
		{'caption': 'log-queries-not-using-indexes', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Log queries that are executed without benefit of any index to the slow query log if it is open', 'name': 'log-queries-not-using-indexes'},
		{'caption': 'log-raw', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to log queries without rewriting', 'name': 'log-raw'},
		{'caption': 'log-short-format', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': "Don't log extra information to update and slow-query logs", 'name': 'log-short-format'},
		{'optype': {'format': 'log_error_verbosity=#'}, 'description': 'Error logging verbosity level', 'versions': [((5, 7, 2),), ((5, 7),), ()], 'caption': 'log_error_verbosity', 'values': [{'default': '3', 'minimum': '1', 'type': 'integer', 'maximum': '3'}], 'name': 'log_error_verbosity'},
		{'caption': 'log_slave_updates', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Tells whether the slave should log the updates performed by its SQL thread to its own binary log. Read-only; set using the --log-slave-updates server option.', 'name': 'log_slave_updates'},
		{'optype': {'format': 'log_syslog[={0|1}]'}, 'description': 'Whether to write error log to syslog', 'versions': [((5, 7, 5),), ((5, 7),), ()], 'caption': 'log_syslog', 'values': [{'default': 'off', 'on': 'on', 'type': 'boolean', 'off': 'off', 'platform': 'unix'}, {'default': 'on', 'on': 'on', 'type': 'boolean', 'off': 'off', 'platform': 'windows'}], 'name': 'log_syslog'},
		{'optype': {'format': 'log_syslog_facility=value'}, 'description': 'Facility for syslog messages', 'versions': [((5, 7, 5),), ((5, 7),), ()], 'caption': 'log_syslog_facility', 'values': [{'default': 'daemon', 'type': 'string'}], 'name': 'log_syslog_facility'},
		{'optype': {'format': 'log_syslog_include_pid[={0|1}]'}, 'description': 'Whether to include server PID in syslog messages', 'versions': [((5, 7, 5),), ((5, 7),), ()], 'caption': 'log_syslog_include_pid', 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'log_syslog_include_pid'},
		{'optype': {'format': 'log_syslog_tag=value'}, 'description': 'Tag for server identifier in syslog messages', 'versions': [((5, 7, 5),), ((5, 7),), ()], 'caption': 'log_syslog_tag', 'values': [{'default': 'empty string', 'type': 'string'}], 'name': 'log_syslog_tag'},
		{'optype': {'format': 'log_timestamps=#'}, 'description': 'Log timestamp format', 'versions': [((5, 7, 2),), ((5, 7),), ()], 'caption': 'log_timestamps', 'values': [{'default': 'UTC', 'type': 'enum', 'choice': ['UTC', 'SYSTEM']}], 'name': 'log_timestamps'},
		{'optype': {'inversion': '5.1.29'}, 'description': 'Enable|disable slow query log', 'versions': [((5, 1, 12),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'caption': 'slow-query-log', 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'slow-query-log'}]),
	( 'Binlog Options', [
		{'caption': 'binlog-checksum', 'versions': [((5, 6, 2),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'NONE', 'outversion': (5, 6, 5), 'type': 'string', 'choice': ['NONE', 'CRC32']}, {'default': 'CRC32', 'inversion': (5, 6, 6), 'type': 'string', 'choice': ['NONE', 'CRC32']}], 'description': 'Enable/disable binary log checksums', 'name': 'binlog-checksum'},
		{'caption': 'binlog-do-db', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Limits binary logging to specific databases', 'name': 'binlog-do-db'},
		{'caption': 'binlog-format', 'versions': [((5, 1, 5),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'STATEMENT', 'inversion': (5, 1, 5), 'type': 'enum', 'outversion': (5, 1, 7), 'choice': ['ROW', 'STATEMENT']}, {'default': 'STATEMENT', 'inversion': (5, 1, 8), 'type': 'enum', 'outversion': (5, 1, 11), 'choice': ['ROW', 'STATEMENT', 'MIXED']}, {'default': 'MIXED', 'inversion': (5, 1, 12), 'type': 'enum', 'outversion': (5, 1, 28), 'choice': ['ROW', 'STATEMENT', 'MIXED']}, {'default': 'STATEMENT', 'inversion': (5, 1, 29), 'type': 'enum', 'outversion': (5, 7, 6), 'choice': ['ROW', 'STATEMENT', 'MIXED']}, {'default': 'ROW', 'inversion': (5, 7, 7), 'type': 'enum', 'choice': ['ROW', 'STATEMENT', 'MIXED']}, {'default': 'MIXED', 'inversion': (5, 1, 14), 'type': 'enum', 'outversion': (5, 1, 15), 'choice': ['ROW', 'STATEMENT', 'MIXED']}, {'default': 'MIXED', 'inversion': (5, 1, 16), 'type': 'enum', 'outversion': (5, 1, 34), 'choice': ['ROW', 'STATEMENT', 'MIXED']}, {'default': 'MIXED', 'inversion': (5, 1, 19), 'type': 'enum', 'outversion': (5, 1, 73), 'choice': ['ROW', 'STATEMENT', 'MIXED']}, {'default': 'MIXED', 'inversion': (5, 1, 32), 'type': 'enum', 'outversion': (5, 1, 73), 'choice': ['ROW', 'STATEMENT', 'MIXED']}, {'default': 'MIXED', 'inversion': (5, 1, 39), 'type': 'enum', 'outversion': (5, 1, 51), 'choice': ['ROW', 'STATEMENT', 'MIXED']}, {'default': 'STATEMENT', 'inversion': (5, 5, 15), 'type': 'enum', 'outversion': (5, 5, 30), 'choice': ['ROW', 'STATEMENT', 'MIXED']}, {'default': 'MIXED', 'inversion': (5, 5, 31), 'type': 'enum', 'outversion': (5, 5, 99), 'choice': ['ROW', 'STATEMENT', 'MIXED']}, {'default': 'MIXED', 'inversion': (5, 6, 10), 'type': 'enum', 'outversion': (5, 6, 99), 'choice': ['ROW', 'STATEMENT', 'MIXED']}], 'description': 'Specifies the format of the binary log', 'name': 'binlog-format'},
		{'caption': 'binlog-ignore-db', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Tells the master that updates to the given database should not be logged to the binary log', 'name': 'binlog-ignore-db'},
		{'caption': 'binlog-row-event-max-size', 'versions': [((5, 1, 5),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'outversion': (5, 6, 5), 'default': '1024', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '256', 'type': 'integer'}, {'inversion': (5, 6, 6), 'default': '8192', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '256', 'type': 'integer'}, {'outversion': (5, 5, 2), 'default': '1024', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '256', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '1024', 'bitsize': '64', 'maximum': '18446744073709551615', 'outversion': (5, 6, 5), 'minimum': '256', 'type': 'integer'}, {'inversion': (5, 6, 6), 'default': '8192', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '256', 'type': 'integer'}], 'description': 'Binary log max event size', 'name': 'binlog-row-event-max-size'},
		{'caption': 'binlog-rows-query-log-events', 'versions': [((5, 6, 2),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Enables logging of rows query log events when using row-based logging. Disabled by default. Do not enable when producing logs for pre-5.6.2 slaves/readers.', 'name': 'binlog-rows-query-log-events'},
		{'caption': 'binlog_cache_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '32768', 'bitsize': '32', 'minimum': '4096', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '32768', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '4096', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '32768', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '4096', 'type': 'integer'}], 'description': 'Size of the cache to hold the SQL statements for the binary log during a transaction', 'name': 'binlog_cache_size'},
		{'caption': 'binlog_direct_non_transactional_updates', 'versions': [((5, 1, 44), (5, 5, 2), (6, 0, 14)), ((5, 1), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Causes updates using statement format to nontransactional engines to be written directly to binary log. See documentation before using.', 'name': 'binlog_direct_non_transactional_updates'},
		{'caption': 'binlog_error_action', 'versions': [((5, 6, 22), (5, 7, 6)), ((5, 6), (5, 7)), ()], 'values': [{'default': 'IGNORE_ERROR', 'type': 'enum', 'choice': ['IGNORE_ERROR', 'ABORT_SERVER']}, {'default': 'ABORT_SERVER', 'inversion': (5, 7, 7), 'type': 'enum', 'choice': ['IGNORE_ERROR', 'ABORT_SERVER']}], 'description': 'Controls what happens when the server cannot write to the binary log.', 'name': 'binlog_error_action'},
		{'caption': 'binlog_group_commit_sync_delay', 'versions': [((5, 7, 5),), ((5, 7),), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '1000000'}], 'description': 'Sets the number of microseconds to wait before synchronizing transactions to disk.', 'name': 'binlog_group_commit_sync_delay'},
		{'caption': 'binlog_group_commit_sync_no_delay_count', 'versions': [((5, 7, 5),), ((5, 7),), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '1000000'}], 'description': 'Sets the maximum number of transactions to wait for before aborting the current delay specified by binlog_group_commit_sync_delay.', 'name': 'binlog_group_commit_sync_no_delay_count'},
		{'caption': 'binlog_gtid_simple_recovery', 'versions': [((5, 7, 6), (5, 6, 23)), ((5, 6), (5, 7)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}, {'default': 'true', 'on': 'true', 'inversion': (5, 7, 7), 'off': 'false', 'type': 'boolean'}], 'description': 'Controls how binary logs are iterated during GTID recovery', 'name': 'binlog_gtid_simple_recovery'},
		{'caption': 'binlog_row_image', 'versions': [((5, 6, 2),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'full', 'type': 'enum', 'choice': ['full', 'minimal', 'noblob']}], 'description': 'Use full or minimal images when logging row changes. Allowed values are full, minimal, and noblob.', 'name': 'binlog_row_image'},
		{'caption': 'binlog_stmt_cache_size', 'versions': [((5, 5, 9), (5, 6, 1)), ((5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '32768', 'bitsize': '32', 'minimum': '4096', 'type': 'integer', 'maximum': '4294967295'}, {'default': '32768', 'bitsize': '64', 'minimum': '4096', 'type': 'integer', 'maximum': '18446744073709551615'}], 'description': 'Size of the cache to hold nontransactional statements for the binary log during a transaction', 'name': 'binlog_stmt_cache_size'},
		{'caption': 'binlogging_impossible_mode', 'versions': [((5, 6, 20), (5, 7, 5)), ((5, 6), (5, 7)), ()], 'values': [{'default': 'IGNORE_ERROR', 'type': 'enum', 'choice': ['IGNORE_ERROR', 'ABORT_SERVER']}], 'description': 'Deprecated and will be removed in a future version. Use the renamed binlog_error_action instead.', 'name': 'binlogging_impossible_mode'},
		{'caption': 'log-bin', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'Specifies binary log file name', 'name': 'log-bin'},
		{'caption': 'log-bin-index', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'File that holds the names for last binary log files', 'name': 'log-bin-index'},
		{'caption': 'log-bin-trust-function-creators', 'versions': [((5, 0, 16),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'If equal to 0 (the default), then when --log-bin is used, creation of a stored function is allowed only to users having the SUPER privilege and only if the function created does not break binary logging', 'name': 'log-bin-trust-function-creators'},
		{'caption': 'log-bin-trust-routine-creators', 'versions': [((5, 0, 6),), ((5, 0), (5, 1), (5, 2), (5, 4), (5, 5)), ((5, 2, 5), (5, 5, 3))], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': '(deprecated) Use log-bin-trust-function-creators', 'name': 'log-bin-trust-routine-creators'},
		{'caption': 'log_bin_use_v1_row_events', 'versions': [((5, 1, 56), (5, 5, 15), (5, 6, 6)), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'on': '1', 'inversion': (5, 1, 56), 'off': '0', 'default': '1', 'outversion': (5, 1, 99), 'type': 'boolean'}, {'on': '1', 'inversion': (5, 1, 56), 'off': '0', 'default': '1', 'outversion': (5, 1, 99), 'type': 'boolean'}, {'on': '1', 'inversion': (5, 5, 15), 'off': '0', 'default': '0', 'outversion': (5, 5, 99), 'type': 'boolean'}, {'default': '0', 'on': '1', 'inversion': (5, 6, 6), 'off': '0', 'type': 'boolean'}], 'description': 'Shows whether server is using version 1 binary log row events', 'name': 'log_bin_use_v1_row_events'},
		{'caption': 'max-binlog-dump-events', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'type': 'integer'}], 'description': 'Option used by mysql-test for debugging and testing of replication', 'name': 'max-binlog-dump-events'},
		{'caption': 'max_binlog_cache_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'outversion': (5, 1, 35), 'default': '4294967295', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '4096', 'type': 'integer'}, {'outversion': (5, 1, 35), 'default': '18446744073709547520', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '4096', 'type': 'integer'}, {'inversion': (5, 1, 36), 'default': '18446744073709547520', 'maximum': '18446744073709547520', 'outversion': (5, 1, 99), 'minimum': '4096', 'type': 'integer'}, {'inversion': (5, 4, 0), 'default': '4294967295', 'maximum': '4294967295', 'outversion': (5, 4, 1), 'minimum': '4096', 'type': 'integer'}, {'inversion': (5, 4, 2), 'default': '18446744073709547520', 'maximum': '18446744073709547520', 'outversion': (5, 5, 2), 'minimum': '4096', 'type': 'integer'}, {'default': '18446744073709551615', 'inversion': (5, 5, 3), 'minimum': '4096', 'type': 'integer', 'maximum': '18446744073709551615'}, {'default': '4294967295', 'inversion': (6, 0, 0), 'minimum': '4096', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Can be used to restrict the total size used to cache a multi-statement transaction', 'name': 'max_binlog_cache_size'},
		{'caption': 'max_binlog_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1073741824', 'minimum': '4096', 'type': 'integer', 'maximum': '1073741824'}], 'description': 'Binary log will be rotated automatically when size exceeds this value', 'name': 'max_binlog_size'},
		{'caption': 'max_binlog_stmt_cache_size', 'versions': [((5, 5, 9), (5, 6, 1)), ((5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '18446744073709547520', 'minimum': '4096', 'type': 'integer', 'maximum': '18446744073709547520'}], 'description': 'Can be used to restrict the total size used to cache all nontransactional statements during a transaction', 'name': 'max_binlog_stmt_cache_size'},
		{'caption': 'sporadic-binlog-dump-fail', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Option used by mysql-test for debugging and testing of replication', 'name': 'sporadic-binlog-dump-fail'},
		{'caption': 'sync_binlog', 'versions': [((4, 1, 3), (5, 0, 1)), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'bitsize': '32', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '0', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '0', 'bitsize': '64', 'maximum': '4294967295', 'minimum': '0', 'type': 'integer'}, {'default': '1', 'inversion': (5, 7, 7), 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Synchronously flush binary log to disk after every #th event', 'name': 'sync_binlog'}])]),
( 'InnoDB', [
	( 'Datafiles', [
		{'caption': 'innodb_data_file_path', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'ibdata1:10M:autoextend', 'outversion': (5, 6, 6), 'type': 'string'}, {'default': 'ibdata1:12M:autoextend', 'inversion': (5, 6, 7), 'type': 'string'}], 'description': 'Path to individual files and their sizes', 'name': 'innodb_data_file_path'},
		{'caption': 'innodb_data_home_dir', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'The common part for InnoDB table spaces', 'name': 'innodb_data_home_dir'},
		{'caption': 'innodb_file_format', 'versions': [((5, 1, 38), (5, 4, 2)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'Antelope', 'inversion': (5, 1, 38), 'type': 'string', 'outversion': (5, 1, 99), 'choice': ['Antelope', 'Barracuda']}, {'default': 'Barracuda', 'inversion': (5, 5, 0), 'type': 'string', 'outversion': (5, 5, 6), 'choice': ['Antelope', 'Barracuda']}, {'default': 'Antelope', 'inversion': (5, 5, 7), 'type': 'string', 'outversion': (5, 7, 6), 'choice': ['Antelope', 'Barracuda']}, {'default': 'Barracuda', 'inversion': (5, 7, 7), 'type': 'string', 'choice': ['Antelope', 'Barracuda']}], 'description': 'The format for new InnoDB tables', 'name': 'innodb_file_format'},
		{'caption': 'innodb_file_format_check', 'versions': [((5, 1, 38), (5, 4, 2)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'Antelope', 'outversion': (5, 1, 41), 'type': 'string'}, {'default': 'Barracuda', 'inversion': (5, 1, 42), 'type': 'string', 'outversion': (5, 1, 99)}, {'default': 'Antelope', 'inversion': (5, 5, 0), 'type': 'string', 'outversion': (5, 5, 0)}, {'default': 'Barracuda', 'inversion': (5, 5, 1), 'type': 'string', 'outversion': (5, 5, 4)}, {'default': 'on', 'on': 'on', 'inversion': (5, 5, 5), 'off': 'off', 'type': 'boolean'}], 'description': 'Whether InnoDB performs file format compatibility checking', 'name': 'innodb_file_format_check'},
		{'caption': 'innodb_file_format_max', 'versions': [((5, 5, 5),), ((5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'Antelope', 'type': 'string', 'choice': ['Antelope', 'Barracuda']}], 'description': 'The file format tag in the shared tablespace', 'name': 'innodb_file_format_max'}]),
	( 'Buffer pool', [
		{'caption': 'innodb_buffer_pool_awe_mem_mb', 'versions': [(), ((4, 1), (5, 0), (5, 1)), ((5, 1, 13),)], 'values': [{'default': '0', 'platform': 'windows', 'minimum': '0', 'type': 'integer', 'maximum': '63000'}], 'description': 'If Windows AWE is used, size in Megabytes of InnoDB buffer pool allocated from the AWE memory', 'name': 'innodb_buffer_pool_awe_mem_mb'},
		{'caption': 'innodb_buffer_pool_dump_at_shutdown', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'outversion': (5, 7, 6), 'off': 'off', 'type': 'boolean'}, {'default': 'on', 'on': 'on', 'inversion': (5, 7, 7), 'off': 'off', 'type': 'boolean'}], 'description': 'Specifies whether to record the pages cached in the InnoDB buffer pool when the MySQL server is shut down, to shorten the warmup process at the next restart', 'name': 'innodb_buffer_pool_dump_at_shutdown'},
		{'caption': 'innodb_buffer_pool_dump_now', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Immediately records the pages cached in the InnoDB buffer pool', 'name': 'innodb_buffer_pool_dump_now'},
		{'caption': 'innodb_buffer_pool_filename', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'ib_buffer_pool', 'type': 'filename'}], 'description': 'Specifies the file that holds the list of page numbers produced by innodb_buffer_pool_dump_at_shutdown or innodb_buffer_pool_dump_now', 'name': 'innodb_buffer_pool_filename'},
		{'caption': 'innodb_buffer_pool_instances', 'versions': [((5, 5, 4),), ((5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '1', 'outversion': (5, 6, 5), 'minimum': '1', 'type': 'integer', 'maximum': '64'}, {'inversion': (5, 6, 6), 'default': '(autosized)', 'bitsize': '32', 'maximum': '64', 'platform': 'windows', 'minimum': '1', 'type': 'integer'}, {'inversion': (5, 6, 6), 'default': '8', 'maximum': '64', 'platform': 'other', 'minimum': '1', 'type': 'integer'}], 'description': 'Specifies how many parts the InnoDB buffer pool is divided into', 'name': 'innodb_buffer_pool_instances'},
		{'caption': 'innodb_buffer_pool_load_abort', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Interrupts process of restoring InnoDB buffer pool contents triggered by innodb_buffer_pool_load_at_startup or innodb_buffer_pool_load_now', 'name': 'innodb_buffer_pool_load_abort'},
		{'caption': 'innodb_buffer_pool_load_at_startup', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'outversion': (5, 7, 6), 'off': 'off', 'type': 'boolean'}, {'default': 'on', 'on': 'on', 'inversion': (5, 7, 7), 'off': 'off', 'type': 'boolean'}], 'description': 'Specifies that, on MySQL server startup, the InnoDB buffer pool is automatically "warmed up" by loading the same pages it held at an earlier time', 'name': 'innodb_buffer_pool_load_at_startup'},
		{'caption': 'innodb_buffer_pool_load_now', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Immediately "warms up" the InnoDB buffer pool by loading a set of data pages, without waiting for a server restart', 'name': 'innodb_buffer_pool_load_now'},
		{'caption': 'innodb_buffer_pool_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '8388608', 'inversion': (5, 0, 0), 'minimum': '1048576', 'type': 'integer', 'outversion': (5, 1, 27)}, {'inversion': (5, 1, 28), 'default': '134217728', 'bitsize': '32', 'maximum': '2**32-1', 'outversion': (5, 1, 99), 'minimum': '1048576', 'type': 'integer'}, {'inversion': (5, 1, 28), 'default': '134217728', 'bitsize': '64', 'maximum': '2**64-1', 'outversion': (5, 1, 99), 'minimum': '1048576', 'type': 'integer'}, {'default': '1073741824', 'inversion': (5, 4, 0), 'minimum': '67108864', 'type': 'integer', 'outversion': (5, 4, 1)}, {'default': '1073741824', 'inversion': (5, 4, 2), 'minimum': '5242880', 'type': 'integer', 'outversion': (5, 4, 2)}, {'inversion': (5, 4, 3), 'default': '134217728', 'bitsize': '32', 'maximum': '2**32-1', 'minimum': '5242880', 'type': 'integer'}, {'inversion': (5, 4, 3), 'default': '134217728', 'bitsize': '64', 'maximum': '2**64-1', 'minimum': '5242880', 'type': 'integer'}, {'default': '8388608', 'inversion': (6, 0, 0), 'minimum': '1048576', 'type': 'integer'}], 'description': 'Size of the memory buffer InnoDB uses to cache data and indexes of its tables', 'name': 'innodb_buffer_pool_size'}]),
	( 'Logfiles', [
		{'caption': 'innodb_flush_log_at_trx_commit', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1', 'type': 'enum', 'choice': ['0', '1', '2']}], 'description': 'Set to 0 (write and flush once per second), 1 (write and flush at each commit) or 2 (write at commit, flush once per second)', 'name': 'innodb_flush_log_at_trx_commit'},
		{'caption': 'innodb_flush_method', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'async_unbuffered', 'platform': 'windows', 'inversion': (5, 0, 0), 'type': 'string'}, {'inversion': (5, 0, 0), 'default': 'fdatasync', 'outversion': (5, 1, 23), 'choice': ['fdatasync', 'O_DSYNC', 'O_DIRECT'], 'platform': 'unix', 'type': 'string'}, {'inversion': (5, 1, 24), 'default': 'fsync', 'outversion': (5, 6, 6), 'choice': ['fsync', 'O_DSYNC', 'O_DIRECT'], 'platform': 'unix', 'type': 'string'}, {'default': 'fsync', 'platform': 'unix', 'inversion': (5, 6, 7), 'type': 'string', 'choice': ['fsync', 'O_DSYNC', 'O_DIRECT', 'O_DIRECT_NO_FSYNC']}], 'description': 'Specifies to flush data', 'name': 'innodb_flush_method'},
		{'caption': 'innodb_flush_neighbors', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '1', 'type': 'enum', 'choice': ['0', '1', '2']}], 'description': 'Specifies whether flushing a page from the InnoDB buffer pool also flushes other dirty pages in the same extent', 'name': 'innodb_flush_neighbors'},
		{'caption': 'innodb_log_arch_dir', 'versions': [(), ((4, 1), (5, 0), (5, 1)), ((5, 1, 21),)], 'values': [{'type': 'dirname'}], 'description': 'Where full logs should be archived', 'name': 'innodb_log_arch_dir'},
		{'caption': 'innodb_log_archive', 'versions': [(), ((4, 1), (5, 0), (5, 1)), ((5, 1, 18),)], 'values': [{'default': '0', 'type': 'integer'}], 'description': 'Unused', 'name': 'innodb_log_archive'},
		{'caption': 'innodb_log_buffer_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1048576', 'outversion': (5, 1, 99), 'minimum': '1048576', 'type': 'integer', 'maximum': '4294967295'}, {'inversion': (5, 4, 0), 'default': '16777216', 'maximum': '4294967295', 'outversion': (5, 4, 1), 'minimum': '2097152', 'type': 'integer'}, {'inversion': (5, 4, 2), 'default': '16777216', 'maximum': '4294967295', 'outversion': (5, 4, 2), 'minimum': '262144', 'type': 'integer'}, {'inversion': (5, 4, 3), 'default': '8388608', 'maximum': '4294967295', 'outversion': (5, 7, 5), 'minimum': '262144', 'type': 'integer'}, {'default': '1048576', 'inversion': (6, 0, 0), 'minimum': '1048576', 'type': 'integer', 'maximum': '4294967295'}, {'default': '16777216', 'inversion': (5, 7, 6), 'minimum': '1048576', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Size of buffer which InnoDB uses to write log to the log files on disk', 'name': 'innodb_log_buffer_size'},
		{'caption': 'innodb_log_compressed_pages', 'versions': [((5, 6, 11),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Specifies whether images of re-compressed pages are stored in InnoDB redo logs', 'name': 'innodb_log_compressed_pages'},
		{'caption': 'innodb_log_file_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '5242880', 'outversion': (5, 1, 99), 'minimum': '1048576', 'type': 'integer', 'maximum': '4GB / innodb_log_files_in_group'}, {'inversion': (5, 4, 0), 'default': '134217728', 'maximum': '4GB / innodb_log_files_in_group', 'outversion': (5, 4, 1), 'minimum': '33554432', 'type': 'integer'}, {'inversion': (5, 4, 2), 'default': '134217728', 'maximum': '4GB / innodb_log_files_in_group', 'outversion': (5, 4, 2), 'minimum': '1048576', 'type': 'integer'}, {'inversion': (5, 4, 3), 'default': '5242880', 'maximum': '4GB / innodb_log_files_in_group', 'outversion': (5, 6, 2), 'minimum': '1048576', 'type': 'integer'}, {'inversion': (5, 6, 3), 'default': '5242880', 'maximum': '512GB / innodb_log_files_in_group', 'outversion': (5, 6, 7), 'minimum': '1048576', 'type': 'integer'}, {'default': '50331648', 'inversion': (5, 6, 8), 'minimum': '1048576', 'type': 'integer', 'maximum': '512GB / innodb_log_files_in_group'}, {'default': '5242880', 'inversion': (6, 0, 0), 'minimum': '1048576', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Size of each log file in a log group', 'name': 'innodb_log_file_size'},
		{'caption': 'innodb_log_files_in_group', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '2', 'outversion': (5, 1, 99), 'minimum': '2', 'type': 'integer', 'maximum': '100'}, {'inversion': (5, 4, 0), 'default': '3', 'maximum': '100', 'outversion': (5, 4, 2), 'minimum': '3', 'type': 'integer'}, {'default': '2', 'inversion': (5, 4, 3), 'minimum': '2', 'type': 'integer', 'maximum': '100'}], 'description': 'Number of InnoDB log files in the log group', 'name': 'innodb_log_files_in_group'},
		{'caption': 'innodb_log_group_home_dir', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'Path to InnoDB log files', 'name': 'innodb_log_group_home_dir'},
		{'caption': 'innodb_log_write_ahead_size', 'versions': [((5, 7, 4),), ((5, 7),), ()], 'values': [{'default': '8192', 'minimum': '512 (log file block size)', 'type': 'integer', 'maximum': 'Equal to innodb_page_size'}], 'description': 'The write-ahead block size for the redo log.', 'name': 'innodb_log_write_ahead_size'},
		{'caption': 'innodb_mirrored_log_groups', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (6, 0)), ()], 'values': [{'default': '1', 'minimum': '1', 'type': 'integer', 'maximum': '10'}], 'description': 'Obsolete setting; do not use', 'name': 'innodb_mirrored_log_groups'},
		{'caption': 'innodb_online_alter_log_max_size', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': '134217728', 'minimum': '65536', 'type': 'integer', 'maximum': '2**64-1'}], 'description': 'Specifies an upper limit on size of the temporary log files used during online DDL operations for InnoDB tables.', 'name': 'innodb_online_alter_log_max_size'},
		{'caption': 'innodb_undo_directory', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '.', 'type': 'dirname'}], 'description': 'The relative or absolute directory path where InnoDB creates separate tablespaces for the undo logs; typically used to place those logs on a different storage device', 'name': 'innodb_undo_directory'},
		{'caption': 'innodb_undo_logs', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '128', 'minimum': '0', 'type': 'integer', 'maximum': '128'}], 'description': 'Defines how many of the rollback segments in the system tablespace that InnoDB uses within a transaction; replaces the innodb_rollback_segments setting', 'name': 'innodb_undo_logs'}]),
	( 'Various', [
		{'caption': 'innodb_fast_shutdown', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1', 'type': 'integer', 'choice': ['0', '1', '2']}], 'description': 'Speeds up the shutdown process of the InnoDB storage engine', 'name': 'innodb_fast_shutdown'}]),
	( 'Memory', [
		{'caption': 'innodb_additional_mem_pool_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ((5, 7, 4),)], 'values': [{'default': '1048576', 'outversion': (5, 1, 99), 'minimum': '524288', 'type': 'integer', 'maximum': '4294967295'}, {'default': '8388608', 'inversion': (5, 4, 0), 'minimum': '2097152', 'type': 'integer', 'maximum': '4294967295'}, {'default': '1048576', 'inversion': (6, 0, 0), 'minimum': '524288', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Size of a memory pool InnoDB uses to store data dictionary information and other internal data structures', 'name': 'innodb_additional_mem_pool_size'},
		{'caption': 'innodb_page_cleaners', 'versions': [((5, 7, 4),), ((5, 7),), ()], 'values': [{'default': '1', 'outversion': (5, 7, 7), 'minimum': '1', 'type': 'integer', 'maximum': '64'}, {'default': '4', 'inversion': (5, 7, 8), 'minimum': '1', 'type': 'integer', 'maximum': '64'}], 'description': 'Number of page cleaner threads.', 'name': 'innodb_page_cleaners'},
		{'caption': 'innodb_page_size', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [{'default': '16384', 'inversion': (5, 6, 4), 'type': 'enum', 'outversion': (5, 7, 5), 'choice': ['4k', '8k', '16k', '4096', '8192', '16384']}, {'default': '16384', 'inversion': (5, 7, 6), 'type': 'enum', 'choice': ['4k', '8k', '16k', '32k', '64k', '4096', '8192', '16384', '32768', '65536']}], 'description': 'Specifies the page size for all InnoDB tablespaces in an instance', 'name': 'innodb_page_size'},
		{'caption': 'innodb_sort_buffer_size', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [{'inversion': (5, 6, 4), 'default': '1048576', 'maximum': '67108864', 'outversion': (5, 6, 4), 'minimum': '524288', 'type': 'integer'}, {'default': '1048576', 'inversion': (5, 6, 5), 'minimum': '65536', 'type': 'integer', 'maximum': '67108864'}], 'description': 'Specifies size of a buffer used for sorting data during creation of an InnoDB index', 'name': 'innodb_sort_buffer_size'}]),
	( 'Fulltext search', [
		{'optype': {'inversion': '5.7.2'}, 'description': 'Specifies which InnoDB table with a FULLTEXT index to examine by querying several innodb_ft_* tables in the information_schema', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'caption': 'innodb_ft_aux_table', 'values': [{'type': 'string'}], 'name': 'innodb_ft_aux_table'},
		{'caption': 'innodb_ft_cache_size', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [{'default': '32000000', 'inversion': (5, 6, 4), 'type': 'integer', 'outversion': (5, 6, 9)}, {'default': '8000000', 'inversion': (5, 6, 10), 'minimum': '1600000', 'type': 'integer', 'maximum': '80000000'}], 'description': 'Size of the cache that holds a parsed document in memory while creating an InnoDB FULLTEXT index', 'name': 'innodb_ft_cache_size'},
		{'caption': 'innodb_ft_enable_diag_print', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'on', 'on': 'on', 'outversion': (5, 6, 6), 'off': 'off', 'type': 'boolean'}, {'default': 'off', 'on': 'on', 'inversion': (5, 6, 7), 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to enable additional full-text search diagnostic output', 'name': 'innodb_ft_enable_diag_print'},
		{'caption': 'innodb_ft_enable_stopword', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'During creation of an InnoDB FULLTEXT index, omits stopwords from the search index', 'name': 'innodb_ft_enable_stopword'},
		{'caption': 'innodb_ft_max_token_size', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [{'default': '84', 'minimum': '10', 'type': 'integer', 'maximum': '252'}], 'description': 'Maximum length of words that are stored in an InnoDB FULLTEXT index', 'name': 'innodb_ft_max_token_size'},
		{'caption': 'innodb_ft_min_token_size', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [{'default': '3', 'minimum': '0', 'type': 'integer', 'maximum': '16'}], 'description': 'Minimum length of words that are stored in an InnoDB FULLTEXT index', 'name': 'innodb_ft_min_token_size'},
		{'caption': 'innodb_ft_num_word_optimize', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [{'default': '2000', 'type': 'integer'}], 'description': 'Number of words to process during each OPTIMIZE TABLE operation on an InnoDB FULLTEXT index', 'name': 'innodb_ft_num_word_optimize'},
		{'caption': 'innodb_ft_result_cache_limit', 'versions': [((5, 6, 13), (5, 7, 2)), ((5, 6), (5, 7)), ()], 'values': [{'inversion': (5, 6, 13), 'default': '2000000000', 'maximum': '2**32-1', 'outversion': (5, 6, 16), 'platform': 'windows', 'minimum': '1000000', 'type': 'integer'}, {'platform': 'unix', 'inversion': (5, 6, 13), 'minimum': '1000000', 'default': '2000000000', 'bitsize': '32', 'type': 'integer', 'maximum': '2**32-1', 'outversion': (5, 6, 16)}, {'platform': 'unix', 'inversion': (5, 6, 13), 'minimum': '1000000', 'default': '2000000000', 'bitsize': '64', 'type': 'integer', 'maximum': '2**64-1', 'outversion': (5, 6, 16)}, {'inversion': (5, 6, 17), 'default': '2000000000', 'maximum': '2**32-1', 'outversion': (5, 6, 99), 'minimum': '1000000', 'type': 'integer'}, {'inversion': (5, 7, 2), 'default': '2000000000', 'maximum': '2**32-1', 'outversion': (5, 7, 3), 'platform': 'windows', 'minimum': '1000000', 'type': 'integer'}, {'platform': 'unix', 'inversion': (5, 7, 2), 'minimum': '1000000', 'default': '2000000000', 'bitsize': '32', 'type': 'integer', 'maximum': '2**32-1', 'outversion': (5, 7, 3)}, {'platform': 'unix', 'inversion': (5, 7, 2), 'minimum': '1000000', 'default': '2000000000', 'bitsize': '64', 'type': 'integer', 'maximum': '2**64-1', 'outversion': (5, 7, 3)}, {'default': '2000000000', 'inversion': (5, 7, 4), 'minimum': '1000000', 'type': 'integer', 'maximum': '2**32-1'}], 'description': 'The InnoDB FULLTEXT search query result cache limit.', 'name': 'innodb_ft_result_cache_limit'},
		{'caption': 'innodb_ft_server_stopword_table', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'NULL', 'type': 'string'}], 'description': 'Specifies a table holding a list of stopwords for InnoDB FULLTEXT indexes, which overrides the default stopword list and can be overridden by innodb_ft_user_stopword_table', 'name': 'innodb_ft_server_stopword_table'},
		{'caption': 'innodb_ft_sort_pll_degree', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [{'default': '2', 'minimum': '1', 'type': 'integer', 'maximum': '32'}], 'description': 'Number of threads used to create an InnoDB FULLTEXT index in parallel, when building a search index for a large table', 'name': 'innodb_ft_sort_pll_degree'},
		{'caption': 'innodb_ft_total_cache_size', 'versions': [((5, 6, 13), (5, 7, 2)), ((5, 6), (5, 7)), ()], 'values': [{'default': '640000000', 'minimum': '32000000', 'type': 'integer', 'maximum': '1600000000'}], 'description': 'The total memory allocated for the InnoDB FULLTEXT search index cache.', 'name': 'innodb_ft_total_cache_size'},
		{'caption': 'innodb_ft_user_stopword_table', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'NULL', 'type': 'string'}], 'description': 'Specifies a table holding a list of stopwords for InnoDB FULLTEXT indexes, which overrides the default stopword list and also innodb_ft_server_stopword_table', 'name': 'innodb_ft_user_stopword_table'},
		{'caption': 'innodb_optimize_fulltext_only', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Makes the OPTIMIZE TABLE statement for an InnoDB table process the newly added, deleted, and updated token data for a FULLTEXT index, rather than reorganizing the data in the clustered index of the table', 'name': 'innodb_optimize_fulltext_only'}]),
	( 'General', [
		{'caption': 'ignore-builtin-innodb', 'versions': [((5, 1, 33),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'on': '1', 'off': '0', 'type': 'boolean'}], 'description': 'Ignore the built-in InnoDB', 'name': 'ignore-builtin-innodb'},
		{'caption': 'innodb-safe-binlog', 'versions': [((4, 1, 3),), ((4, 1), (5, 0)), ((5, 0, 3),)], 'values': [{'on': '1', 'off': '0', 'type': 'boolean'}], 'description': 'Truncates the binary log after last nonrolled-back transaction after InnoDB crash recovery', 'name': 'innodb-safe-binlog'},
		{'caption': 'innodb-status-file', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enable SHOW ENGINE INNODB STATUS output in the innodb_status.[pid] file', 'name': 'innodb-status-file'},
		{'caption': 'innodb_adaptive_flushing', 'versions': [((5, 1, 38), (5, 4, 2)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Control InnoDB adaptive flushing of dirty pages', 'name': 'innodb_adaptive_flushing'},
		{'caption': 'innodb_adaptive_flushing_lwm', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': '10', 'minimum': '0', 'type': 'integer', 'maximum': '70'}], 'description': 'Low water mark representing percentage of redo log capacity at which adaptive flushing is enabled.', 'name': 'innodb_adaptive_flushing_lwm'},
		{'caption': 'innodb_adaptive_hash_index', 'versions': [((5, 0, 52), (5, 1, 24), (6, 0, 5)), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enable or disable InnoDB adaptive hash indexes', 'name': 'innodb_adaptive_hash_index'},
		{'caption': 'innodb_adaptive_max_sleep_delay', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '150000', 'minimum': '0', 'type': 'integer', 'maximum': '1000000'}], 'description': 'Allows InnoDB to automatically adjust the value of innodb_thread_sleep_delay up or down according to the current workload', 'name': 'innodb_adaptive_max_sleep_delay'},
		{'caption': 'innodb_api_bk_commit_interval', 'versions': [((5, 6, 7),), ((5, 6), (5, 7)), ()], 'values': [{'default': '5', 'minimum': '1', 'type': 'integer', 'maximum': '1073741824 '}], 'description': 'How often to auto-commit idle connections that use the InnoDB memcached interface, in seconds.', 'name': 'innodb_api_bk_commit_interval'},
		{'caption': 'innodb_api_disable_rowlock', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': '', 'name': 'innodb_api_disable_rowlock'},
		{'caption': 'innodb_api_enable_binlog', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Lets you use the InnoDB memcached plugin with the MySQL binary log', 'name': 'innodb_api_enable_binlog'},
		{'caption': 'innodb_api_enable_mdl', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Locks the table used by the InnoDB memcached plugin, so that it cannot be dropped or altered by DDL through the SQL interface', 'name': 'innodb_api_enable_mdl'},
		{'caption': 'innodb_api_trx_level', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': '0', 'type': 'integer'}], 'description': 'Lets you control the transaction isolation level on queries processed by the memcached interface', 'name': 'innodb_api_trx_level'},
		{'caption': 'innodb_autoextend_increment', 'versions': [((4, 1, 5),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '8', 'outversion': (5, 1, 99), 'minimum': '1', 'type': 'integer', 'maximum': '1000'}, {'inversion': (5, 4, 0), 'default': '64', 'maximum': '1000', 'outversion': (5, 4, 2), 'minimum': '1', 'type': 'integer'}, {'inversion': (5, 4, 3), 'default': '8', 'maximum': '1000', 'outversion': (5, 6, 5), 'minimum': '1', 'type': 'integer'}, {'default': '64', 'inversion': (5, 6, 6), 'minimum': '1', 'type': 'integer', 'maximum': '1000'}], 'description': 'Data file autoextend increment in megabytes', 'name': 'innodb_autoextend_increment'},
		{'caption': 'innodb_autoinc_lock_mode', 'versions': [((5, 1, 22),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1', 'type': 'integer', 'choice': ['0', '1', '2']}], 'description': 'Set InnoDB auto-increment lock mode', 'name': 'innodb_autoinc_lock_mode'},
		{'caption': 'innodb_buffer_pool_dump_pct', 'versions': [((5, 7, 2),), ((5, 7),), ()], 'values': [{'default': '100', 'outversion': (5, 7, 6), 'minimum': '1', 'type': 'integer', 'maximum': '100'}, {'default': '25', 'inversion': (5, 7, 7), 'minimum': '1', 'type': 'integer', 'maximum': '100'}], 'description': 'Specifies the percentage of the most recently used pages for each buffer pool to read out and dump.', 'name': 'innodb_buffer_pool_dump_pct'},
		{'caption': 'innodb_change_buffer_max_size', 'versions': [((5, 6, 2),), ((5, 6), (5, 7)), ()], 'values': [{'default': '25', 'minimum': '0', 'type': 'integer', 'maximum': '50'}], 'description': 'Maximum size for the InnoDB change buffer, as a percentage of the total size of buffer pool', 'name': 'innodb_change_buffer_max_size'},
		{'caption': 'innodb_change_buffering', 'versions': [((5, 1, 38), (5, 4, 2)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'inserts', 'outversion': (5, 5, 3), 'type': 'enum', 'choice': ['inserts', 'none']}, {'default': 'all', 'inversion': (5, 5, 4), 'type': 'enum', 'choice': ['inserts', 'deletes', 'purges', 'changes', 'all', 'none']}], 'description': 'Whether InnoDB performs insert buffering.', 'name': 'innodb_change_buffering'},
		{'caption': 'innodb_checksum_algorithm', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'innodb', 'outversion': (5, 6, 5), 'type': 'enum', 'choice': ['innodb', 'crc32', 'none', 'strict_innodb', 'strict_crc32', 'strict_none']}, {'default': 'crc32', 'inversion': (5, 6, 6), 'type': 'enum', 'outversion': (5, 6, 6), 'choice': ['innodb', 'crc32', 'none', 'strict_innodb', 'strict_crc32', 'strict_none']}, {'default': 'innodb', 'inversion': (5, 6, 7), 'type': 'enum', 'outversion': (5, 7, 6), 'choice': ['innodb', 'crc32', 'none', 'strict_innodb', 'strict_crc32', 'strict_none']}, {'default': 'crc32', 'inversion': (5, 7, 7), 'type': 'enum', 'choice': ['innodb', 'crc32', 'none', 'strict_innodb', 'strict_crc32', 'strict_none']}], 'description': 'Specifies how to generate and verify the checksum stored in each disk block of each InnoDB tablespace', 'name': 'innodb_checksum_algorithm'},
		{'caption': 'innodb_checksums', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enable InnoDB checksums validation', 'name': 'innodb_checksums'},
		{'caption': 'innodb_cmp_per_index_enabled', 'versions': [((5, 6, 7),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'type': 'boolean', 'off': 'off', 'choice': ['off', 'on']}], 'description': 'Enables per-index compression-related statistics in the INFORMATION_SCHEMA.INNODB_CMP_PER_INDEX table', 'name': 'innodb_cmp_per_index_enabled'},
		{'caption': 'innodb_commit_concurrency', 'versions': [((5, 0, 12),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '1000'}], 'description': 'Helps in performance tuning in heavily concurrent environments', 'name': 'innodb_commit_concurrency'},
		{'caption': 'innodb_compression_failure_threshold_pct', 'versions': [((5, 6, 7),), ((5, 6), (5, 7)), ()], 'values': [{'default': '5', 'minimum': '0', 'type': 'integer', 'maximum': '100'}], 'description': 'Sets the cutoff point at which MySQL begins adding padding within compressed pages to avoid expensive compression failures', 'name': 'innodb_compression_failure_threshold_pct'},
		{'caption': 'innodb_compression_level', 'versions': [((5, 6, 7),), ((5, 6), (5, 7)), ()], 'values': [{'default': '6', 'minimum': '0', 'type': 'integer', 'maximum': '9'}], 'description': 'Specifies the level of zlib compression to use for InnoDB compressed tables and indexes', 'name': 'innodb_compression_level'},
		{'caption': 'innodb_compression_pad_pct_max', 'versions': [((5, 6, 7),), ((5, 6), (5, 7)), ()], 'values': [{'default': '50', 'minimum': '0', 'type': 'integer', 'maximum': '75'}], 'description': 'Specifies the maximum percentage that can be reserved as free space within each compressed page, to avoid compression failures when tightly packed data is recompressed', 'name': 'innodb_compression_pad_pct_max'},
		{'caption': 'innodb_concurrency_tickets', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '500', 'outversion': (5, 6, 5), 'minimum': '1', 'type': 'integer', 'maximum': '4294967295'}, {'default': '5000', 'inversion': (5, 6, 6), 'minimum': '1', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Number of times a thread is allowed to enter InnoDB within the same SQL query after it has once got the ticket', 'name': 'innodb_concurrency_tickets'},
		{'caption': 'innodb_create_intrinsic', 'versions': [((5, 7, 5),), ((5, 7),), ((5, 7, 6),)], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enable this option to create performance-optimized temporary tables using CREATE TEMPORY TABLE syntax', 'name': 'innodb_create_intrinsic'},
		{'caption': 'innodb_disable_sort_file_cache', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Disable OS file system cache for merge-sort temporary files', 'name': 'innodb_disable_sort_file_cache'},
		{'caption': 'innodb_doublewrite', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enable InnoDB doublewrite buffer', 'name': 'innodb_doublewrite'},
		{'caption': 'innodb_extra_dirty_writes', 'versions': [(), ((5, 4),), ((5, 4, 2),)], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to flush dirty buffer pages when the percentage of dirty pages is less than the maximum dirty percent', 'name': 'innodb_extra_dirty_writes'},
		{'caption': 'innodb_file_io_threads', 'versions': [(), ((4, 1), (5, 0), (5, 1), (6, 0)), ((5, 5, 0),)], 'values': [{'default': '4', 'minimum': '4', 'type': 'integer', 'maximum': '64'}], 'description': 'Number of file I/O threads in InnoDB', 'name': 'innodb_file_io_threads'},
		{'caption': 'innodb_file_per_table', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'on': 'on', 'inversion': (4, 1, 1), 'off': 'off', 'default': 'off', 'outversion': (5, 4, 99), 'type': 'boolean'}, {'on': 'on', 'inversion': (5, 5, 0), 'off': 'off', 'default': 'on', 'outversion': (5, 5, 6), 'type': 'boolean'}, {'on': 'on', 'inversion': (5, 5, 7), 'off': 'off', 'default': 'off', 'outversion': (5, 6, 5), 'type': 'boolean'}, {'default': 'on', 'on': 'on', 'inversion': (5, 6, 6), 'off': 'off', 'type': 'boolean'}], 'description': 'Stores each InnoDB table and its indexes in a separate .ibd file in the database directory', 'name': 'innodb_file_per_table'},
		{'caption': 'innodb_fill_factor', 'versions': [((5, 7, 5),), ((5, 7),), ()], 'values': [{'default': '100', 'minimum': '10', 'type': 'integer', 'maximum': '100'}], 'description': 'Defines the percentage B-tree leaf and non-leaf page space that is to be filled with data. The remaining space is reserved for future growth.', 'name': 'innodb_fill_factor'},
		{'caption': 'innodb_flushing_avg_loops', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': '30', 'minimum': '1', 'type': 'integer', 'maximum': '1000'}], 'description': 'Number of iterations for which InnoDB keeps the previously calculated snapshot of the flushing state, controlling how quickly adaptive flushing responds to changing workloads', 'name': 'innodb_flushing_avg_loops'},
		{'caption': 'innodb_force_load_corrupted', 'versions': [((5, 5, 18), (5, 6, 3)), ((5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Lets InnoDB load tables at startup that are marked as corrupted; use only during troubleshooting', 'name': 'innodb_force_load_corrupted'},
		{'caption': 'innodb_force_recovery', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '6'}], 'description': 'Helps to save your data in case the disk image of the database becomes corrupt', 'name': 'innodb_force_recovery'},
		{'caption': 'innodb_io_capacity', 'versions': [((5, 1, 38),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '200', 'bitsize': '32', 'minimum': '100', 'type': 'integer', 'maximum': '2**32-1'}, {'default': '200', 'bitsize': '64', 'minimum': '100', 'type': 'integer', 'maximum': '2**64-1'}], 'description': 'The limit on the maximum number of I/O operations per second', 'name': 'innodb_io_capacity'},
		{'caption': 'innodb_io_capacity_max', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'see description', 'bitsize': '32', 'minimum': '2000', 'type': 'integer', 'maximum': '2**32-1'}, {'default': '2000', 'bitsize': '64', 'maximum': '2**32-1', 'platform': 'windows', 'minimum': '2000', 'type': 'integer'}, {'default': 'see description', 'bitsize': '64', 'maximum': '2**64-1', 'platform': 'unix', 'minimum': '2000', 'type': 'integer'}], 'description': 'The limit up to which InnoDB is allowed to extend the innodb_io_capacity setting in case of emergency', 'name': 'innodb_io_capacity_max'},
		{'caption': 'innodb_large_prefix', 'versions': [((5, 5, 14), (5, 6, 3)), ((5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'outversion': (5, 7, 6), 'off': 'off', 'type': 'boolean'}, {'default': 'on', 'on': 'on', 'inversion': (5, 7, 7), 'off': 'off', 'type': 'boolean'}], 'description': 'Enables longer keys for column prefix indexes', 'name': 'innodb_large_prefix'},
		{'caption': 'innodb_lock_wait_timeout', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '50', 'minimum': '1', 'type': 'integer', 'maximum': '1073741824'}], 'description': 'Timeout in seconds an InnoDB transaction may wait for a lock before a rollback occurs', 'name': 'innodb_lock_wait_timeout'},
		{'caption': 'innodb_locks_unsafe_for_binlog', 'versions': [((4, 1, 4),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Force InnoDB not to use next-key locking. Instead use only row-level locking', 'name': 'innodb_locks_unsafe_for_binlog'},
		{'caption': 'innodb_lru_scan_depth', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '1024', 'bitsize': '32', 'minimum': '100', 'type': 'integer', 'maximum': '2**32-1'}, {'default': '1024', 'bitsize': '64', 'minimum': '100', 'type': 'integer', 'maximum': '2**64-1'}], 'description': 'Influences the algorithms and heuristics for the flush operation for the InnoDB buffer pool', 'name': 'innodb_lru_scan_depth'},
		{'caption': 'innodb_max_dirty_pages_pct', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '90', 'outversion': (5, 1, 99), 'minimum': '0', 'type': 'numeric', 'maximum': '100'}, {'inversion': (5, 4, 0), 'default': '75', 'maximum': '99', 'outversion': (5, 7, 4), 'minimum': '0', 'type': 'numeric'}, {'default': '75', 'inversion': (5, 7, 5), 'minimum': '0', 'type': 'numeric', 'maximum': '99.99'}, {'default': '90', 'inversion': (6, 0, 0), 'minimum': '0', 'type': 'numeric', 'maximum': '100'}], 'description': 'Percentage of dirty pages allowed in bufferpool', 'name': 'innodb_max_dirty_pages_pct'},
		{'caption': 'innodb_max_dirty_pages_pct_lwm', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': '0', 'outversion': (5, 7, 4), 'minimum': '0', 'type': 'numeric', 'maximum': '99'}, {'default': '0', 'inversion': (5, 7, 5), 'minimum': '0', 'type': 'numeric', 'maximum': '99.99'}], 'description': 'Low water mark representing percentage of dirty pages where preflushing is enabled to control the dirty page ratio', 'name': 'innodb_max_dirty_pages_pct_lwm'},
		{'caption': 'innodb_max_merged_io', 'versions': [(), ((5, 4),), ((5, 4, 2),)], 'values': [{'default': '64', 'type': 'integer'}], 'description': 'The maximum number of background I/O requests to merge to issue a larger I/O request', 'name': 'innodb_max_merged_io'},
		{'caption': 'innodb_max_purge_lag', 'versions': [((4, 1, 6),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Desired maximum length of the purge queue (0 = no limit)', 'name': 'innodb_max_purge_lag'},
		{'caption': 'innodb_max_purge_lag_delay', 'versions': [((5, 6, 5),), ((5, 6), (5, 7)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer'}], 'description': 'Specifies the maximum delay in milliseconds for the formula calculated using the innodb_max_purge_lag configuration option', 'name': 'innodb_max_purge_lag_delay'},
		{'caption': 'innodb_max_undo_log_size', 'versions': [((5, 7, 5),), ((5, 7),), ()], 'values': [{'default': '1073741824', 'minimum': '10485760', 'type': 'integer', 'maximum': '2**64-1'}], 'description': 'Sets the threshold for truncating the InnoDB undo log', 'name': 'innodb_max_undo_log_size'},
		{'caption': 'innodb_monitor_disable', 'versions': [((5, 6, 2),), ((5, 6), (5, 7)), ()], 'values': [{'type': 'string'}], 'description': 'Turns off one or more counters in the information_schema.innodb_metrics table', 'name': 'innodb_monitor_disable'},
		{'caption': 'innodb_monitor_enable', 'versions': [((5, 6, 2),), ((5, 6), (5, 7)), ()], 'values': [{'type': 'string'}], 'description': 'Turns on one or more counters in the information_schema.innodb_metrics table', 'name': 'innodb_monitor_enable'},
		{'caption': 'innodb_monitor_reset', 'versions': [((5, 6, 2),), ((5, 6), (5, 7)), ()], 'values': [{'type': 'string'}], 'description': 'Resets to zero the count value for one or more counters in the information_schema.innodb_metrics table', 'name': 'innodb_monitor_reset'},
		{'caption': 'innodb_monitor_reset_all', 'versions': [((5, 6, 2),), ((5, 6), (5, 7)), ()], 'values': [{'type': 'string'}], 'description': 'Resets all values (minimum, maximum, and so on) for one or more counters in the information_schema.innodb_metrics table', 'name': 'innodb_monitor_reset_all'},
		{'caption': 'innodb_old_blocks_pct', 'versions': [((5, 1, 41),), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '37', 'minimum': '5', 'type': 'integer', 'maximum': '95'}], 'description': 'Percentage of the InnoDB buffer pool to reserve for old blocks', 'name': 'innodb_old_blocks_pct'},
		{'caption': 'innodb_old_blocks_time', 'versions': [((5, 1, 41),), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '0', 'outversion': (5, 6, 5), 'minimum': '0', 'type': 'integer', 'maximum': '2**32-1'}, {'default': '1000', 'inversion': (5, 6, 6), 'minimum': '0', 'type': 'integer', 'maximum': '2**32-1'}], 'description': 'How long (in ms) blocks must remain in old end of InnoDB buffer pool before moving to new end', 'name': 'innodb_old_blocks_time'},
		{'caption': 'innodb_open_files', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '300', 'outversion': (5, 6, 5), 'minimum': '10', 'type': 'integer', 'maximum': '4294967295'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 6), 'minimum': '10', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'The maximum number of files that InnoDB keeps open at the same time', 'name': 'innodb_open_files'},
		{'caption': 'innodb_print_all_deadlocks', 'versions': [((5, 5, 30), (5, 6, 2)), ((5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'During shutdown, prints information about all InnoDB deadlocks to the server error log', 'name': 'innodb_print_all_deadlocks'},
		{'caption': 'innodb_purge_batch_size', 'versions': [((5, 5, 4),), ((5, 5), (5, 6), (5, 7)), ()], 'values': [{'inversion': (5, 5, 4), 'default': '20', 'maximum': '5000', 'outversion': (5, 6, 2), 'minimum': '1', 'type': 'integer'}, {'default': '300', 'inversion': (5, 6, 3), 'minimum': '1', 'type': 'integer', 'maximum': '5000'}], 'description': 'Specifies the number of InnoDB redo logs that trigger a purge operation.', 'name': 'innodb_purge_batch_size'},
		{'caption': 'innodb_purge_threads', 'versions': [((5, 5, 4),), ((5, 5), (5, 6), (5, 7)), ()], 'values': [{'inversion': (5, 5, 4), 'default': '0', 'maximum': '1', 'outversion': (5, 6, 1), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 2), 'default': '0', 'maximum': '32', 'outversion': (5, 6, 4), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 5), 'default': '1', 'maximum': '32', 'outversion': (5, 7, 7), 'minimum': '1', 'type': 'integer'}, {'default': '4', 'inversion': (5, 7, 8), 'minimum': '1', 'type': 'integer', 'maximum': '32'}], 'description': 'Specifies whether the InnoDB purge operation should be performed in one or more separate threads. By default, this operation is part of the InnoDB master thread.', 'name': 'innodb_purge_threads'},
		{'caption': 'innodb_random_read_ahead', 'versions': [((5, 1, 59), (5, 5, 16), (5, 6, 3)), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enables the random read-ahead technique for optimizing InnoDB I/O', 'name': 'innodb_random_read_ahead'},
		{'caption': 'innodb_read_ahead_threshold', 'versions': [((5, 1, 38), (5, 4, 2)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '56', 'minimum': '0', 'type': 'integer', 'maximum': '64'}], 'description': 'The sensitivity of InnoDB linear read-ahead', 'name': 'innodb_read_ahead_threshold'},
		{'caption': 'innodb_read_io_threads', 'versions': [((5, 1, 38),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '4', 'minimum': '1', 'type': 'integer', 'maximum': '64'}], 'description': 'Number of background I/O threads for read prefetch requests', 'name': 'innodb_read_io_threads'},
		{'caption': 'innodb_read_only', 'versions': [((5, 6, 7),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Starts the server in read-only mode', 'name': 'innodb_read_only'},
		{'caption': 'innodb_replication_delay', 'versions': [((5, 1, 38), (5, 4, 2)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'The slave server replication thread delay', 'name': 'innodb_replication_delay'},
		{'caption': 'innodb_rollback_on_timeout', 'versions': [((5, 0, 32), (5, 1, 15)), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [], 'description': 'Roll back entire transaction on transaction timeout, not just last statement', 'name': 'innodb_rollback_on_timeout'},
		{'caption': 'innodb_rollback_segments', 'versions': [((5, 5, 11), (5, 6, 2)), ((5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '128', 'minimum': '1', 'type': 'integer', 'maximum': '128'}], 'description': 'Defines how many of the rollback segments in the system tablespace that InnoDB uses within a transaction', 'name': 'innodb_rollback_segments'},
		{'caption': 'innodb_spin_wait_delay', 'versions': [((5, 1, 38), (5, 4, 2)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '6', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'The maximum delay between polls for a spin lock', 'name': 'innodb_spin_wait_delay'},
		{'caption': 'innodb_stats_auto_recalc', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Causes InnoDB to automatically recalculate persistent statistics after the data in a table is changed substantially', 'name': 'innodb_stats_auto_recalc'},
		{'caption': 'innodb_stats_method', 'versions': [((5, 1, 56), (5, 5, 10), (5, 6, 2)), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'nulls_equal', 'type': 'enum', 'choice': ['nulls_equal', 'nulls_unequal', 'nulls_ignored']}], 'description': 'Specifies how InnoDB index statistics collection code should treat NULLs', 'name': 'innodb_stats_method'},
		{'caption': 'innodb_stats_on_metadata', 'versions': [((5, 1, 17), (5, 5, 4)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'on', 'on': 'on', 'outversion': (5, 6, 5), 'off': 'off', 'type': 'boolean'}, {'default': 'off', 'on': 'on', 'inversion': (5, 6, 6), 'off': 'off', 'type': 'boolean'}], 'description': 'Enable or disable InnoDB table statistics updates for metadata statements', 'name': 'innodb_stats_on_metadata'},
		{'caption': 'innodb_stats_persistent', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'on', 'on': 'on', 'type': 'boolean', 'off': 'off', 'choice': ['off', 'on', '0', '1']}], 'description': 'Turns on the InnoDB persistent statistics feature', 'name': 'innodb_stats_persistent'},
		{'caption': 'innodb_stats_persistent_sample_pages', 'versions': [((5, 6, 2),), ((5, 6), (5, 7)), ()], 'values': [{'default': '20', 'type': 'integer'}], 'description': 'Number of pages to sample in each InnoDB index, when the persistent statistics feature is also enabled', 'name': 'innodb_stats_persistent_sample_pages'},
		{'caption': 'innodb_stats_sample_pages', 'versions': [((5, 1, 38), (5, 4, 2)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '8', 'minimum': '1', 'type': 'integer', 'maximum': '2**64-1'}], 'description': 'Number of index pages to sample for index distribution statistics', 'name': 'innodb_stats_sample_pages'},
		{'caption': 'innodb_stats_transient_sample_pages', 'versions': [((5, 6, 2),), ((5, 6), (5, 7)), ()], 'values': [{'default': '8', 'type': 'integer'}], 'description': 'Number of pages to sample in each InnoDB index, when the persistent statistics feature is turned off (the default setting)', 'name': 'innodb_stats_transient_sample_pages'},
		{'caption': 'innodb_status_output', 'versions': [((5, 6, 16), (5, 7, 4)), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Used to enable or disable periodic output for the standard InnoDB Monitor. Also used in combination with innodb_status_output_locks to enable and disable periodic output for the InnoDB Lock Monitor.', 'name': 'innodb_status_output'},
		{'caption': 'innodb_status_output_locks', 'versions': [((5, 6, 16), (5, 7, 4)), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Used to enable or disable periodic output for the standard InnoDB Lock Monitor. innodb_status_output must also be enabled to produce periodic output for the InnoDB Lock Monitor.', 'name': 'innodb_status_output_locks'},
		{'caption': 'innodb_strict_mode', 'versions': [((5, 1, 38), (5, 4, 2)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'outversion': (5, 7, 6), 'off': 'off', 'type': 'boolean'}, {'default': 'on', 'on': 'on', 'inversion': (5, 7, 7), 'off': 'off', 'type': 'boolean'}], 'description': 'Whether InnoDB returns errors rather than warnings for exceptional conditions', 'name': 'innodb_strict_mode'},
		{'caption': 'innodb_support_xa', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'true', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Enable InnoDB support for the XA two-phase commit', 'name': 'innodb_support_xa'},
		{'caption': 'innodb_sync_array_size', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '1', 'minimum': '1', 'type': 'integer', 'maximum': '1024'}], 'description': 'Splits an internal data structure used to coordinate threads, for higher concurrency in workloads with large numbers of waiting threads', 'name': 'innodb_sync_array_size'},
		{'caption': 'innodb_sync_spin_loops', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '20', 'outversion': (5, 4, 1), 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}, {'default': '30', 'inversion': (5, 4, 2), 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Count of spin-loop rounds in InnoDB mutexes', 'name': 'innodb_sync_spin_loops'},
		{'caption': 'innodb_table_locks', 'versions': [((4, 1, 2),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'true', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Enable InnoDB locking in LOCK TABLES', 'name': 'innodb_table_locks'},
		{'caption': 'innodb_temp_data_file_path', 'versions': [((5, 7, 1),), ((5, 7),), ()], 'values': [{'default': 'ibtmp1:12M:autoextend', 'type': 'string'}], 'description': 'Defines the path to temporary tablespace data files and their sizes.', 'name': 'innodb_temp_data_file_path'},
		{'caption': 'innodb_thread_concurrency', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '8', 'outversion': (5, 0, 7), 'minimum': '1', 'type': 'integer', 'maximum': '1000'}, {'inversion': (5, 0, 8), 'default': '20', 'maximum': '1000', 'outversion': (5, 0, 18), 'minimum': '1', 'type': 'integer'}, {'inversion': (5, 0, 19), 'default': '0', 'maximum': '1000', 'outversion': (5, 0, 20), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 0, 21), 'default': '8', 'maximum': '1000', 'outversion': (5, 1, 99), 'minimum': '0', 'type': 'integer'}, {'default': '0', 'inversion': (5, 4, 0), 'minimum': '0', 'type': 'integer', 'maximum': '1000'}, {'default': '8', 'inversion': (6, 0, 0), 'minimum': '0', 'type': 'integer', 'maximum': '1000'}], 'description': 'Sets the maximum number of threads allowed inside InnoDB. Value 0 will disable the thread throttling', 'name': 'innodb_thread_concurrency'},
		{'caption': 'innodb_thread_concurrency_timer_based', 'versions': [(), ((5, 4),), ((5, 4, 2),)], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to use the lock-free method of handling thread concurrency', 'name': 'innodb_thread_concurrency_timer_based'},
		{'caption': 'innodb_thread_sleep_delay', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'inversion': (5, 0, 8), 'default': '0', 'maximum': '4294967295', 'outversion': (5, 0, 18), 'minimum': '1000', 'type': 'integer'}, {'inversion': (5, 0, 19), 'default': '0', 'maximum': '4294967295', 'outversion': (5, 0, 20), 'minimum': '1000', 'type': 'integer'}, {'inversion': (5, 0, 21), 'default': '8', 'maximum': '4294967295', 'outversion': (5, 0, 99), 'minimum': '1000', 'type': 'integer'}, {'inversion': (5, 1, 0), 'default': '10000', 'bitsize': '32', 'maximum': '4294967295', 'outversion': (5, 1, 99), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 5, 0), 'default': '10000', 'bitsize': '32', 'maximum': '4294967295', 'outversion': (5, 5, 36), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 1, 0), 'default': '10000', 'bitsize': '64', 'maximum': '18446744073709551615', 'outversion': (5, 5, 36), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 5, 37), 'default': '10000', 'maximum': '1000000', 'outversion': (5, 5, 99), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 0), 'default': '10000', 'bitsize': '32', 'maximum': '4294967295', 'outversion': (5, 6, 16), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 0), 'default': '10000', 'bitsize': '64', 'maximum': '18446744073709551615', 'outversion': (5, 6, 16), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 17), 'default': '10000', 'maximum': '1000000', 'outversion': (5, 6, 99), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 7, 0), 'default': '10000', 'bitsize': '32', 'maximum': '4294967295', 'outversion': (5, 7, 3), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 7, 0), 'default': '10000', 'bitsize': '64', 'maximum': '18446744073709551615', 'outversion': (5, 7, 3), 'minimum': '0', 'type': 'integer'}, {'default': '10000', 'inversion': (5, 7, 4), 'minimum': '0', 'type': 'integer', 'maximum': '1000000'}], 'description': 'Time, in microseconds, that an InnoDB thread sleeps before joining InnoDB queue. Value 0 disables the sleep behavior', 'name': 'innodb_thread_sleep_delay'},
		{'caption': 'innodb_undo_tablespaces', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '126'}], 'description': 'Number of undo logs to place in each tablespace created by a non-zero innodb_undo_logs setting', 'name': 'innodb_undo_tablespaces'},
		{'caption': 'innodb_use_legacy_cardinality_algorithm', 'versions': [((5, 0, 82), (5, 1, 35)), ((5, 0), (5, 1)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to use legacy InnoDB index cardinality calculation algorithm', 'name': 'innodb_use_legacy_cardinality_algorithm'},
		{'caption': 'innodb_use_native_aio', 'versions': [((5, 5, 4),), ((5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Specifies whether to use the Linux asynchronous I/O subsystem', 'name': 'innodb_use_native_aio'},
		{'caption': 'innodb_use_sys_malloc', 'versions': [((5, 1, 38), (5, 4, 2)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7)), ((5, 7, 4),)], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether InnoDB uses the OS or its own memory allocator', 'name': 'innodb_use_sys_malloc'},
		{'caption': 'innodb_write_io_threads', 'versions': [((5, 1, 38),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '4', 'minimum': '1', 'type': 'integer', 'maximum': '64'}], 'description': 'Number of background I/O threads for writing dirty pages from the buffer cache to disk', 'name': 'innodb_write_io_threads'},
		{'caption': 'timed_mutexes', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ((5, 7, 5),)], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Specify whether to time mutexes (only InnoDB mutexes are currently supported)', 'name': 'timed_mutexes'},
		{'caption': 'skip-innodb', 'versions': ((), ((5, 1),), ()), 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Disable InnoDB', 'name': 'skip-innodb'}])]),
( 'Networking', [
	( 'Data / Memory size', [
		{'caption': 'max_allowed_packet', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1048576', 'outversion': (5, 6, 5), 'minimum': '1024', 'type': 'integer', 'maximum': '1073741824'}, {'default': '4194304', 'inversion': (5, 6, 6), 'minimum': '1024', 'type': 'integer', 'maximum': '1073741824'}], 'description': 'Max packet length to send to/receive from server', 'name': 'max_allowed_packet'},
		{'caption': 'net_buffer_length', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '16384', 'minimum': '1024', 'type': 'integer', 'maximum': '1048576'}], 'description': 'Buffer length for TCP/IP and socket communication', 'name': 'net_buffer_length'}]),
	( 'SSL', [
		{'description': 'Enable SSL for connection', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'disabledby': 'skip-ssl', 'caption': 'ssl', 'values': [{'default': 'false', 'on': 'true', 'off': 'disabledby', 'type': 'boolean'}], 'name': 'ssl'},
		{'caption': 'ssl-ca', 'versions': [((5, 0, 23), (5, 1, 11)), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'Path of file that contains list of trusted SSL CAs', 'name': 'ssl-ca'},
		{'caption': 'ssl-capath', 'versions': [((5, 0, 23), (5, 1, 11)), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'Path of directory that contains trusted SSL CA certificates in PEM format', 'name': 'ssl-capath'},
		{'caption': 'ssl-cert', 'versions': [((5, 0, 23), (5, 1, 11)), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'Path of file that contains X509 certificate in PEM format', 'name': 'ssl-cert'},
		{'caption': 'ssl-cipher', 'versions': [((5, 0, 23), (5, 1, 11)), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'List of permitted ciphers to use for SSL encryption', 'name': 'ssl-cipher'},
		{'caption': 'ssl-crl', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'type': 'filename'}], 'description': 'Path of file that contains certificate revocation lists', 'name': 'ssl-crl'},
		{'caption': 'ssl-crlpath', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'type': 'dirname'}], 'description': 'Path of directory that contains certificate revocation list files', 'name': 'ssl-crlpath'},
		{'caption': 'ssl-key', 'versions': [((5, 0, 23), (5, 1, 11)), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'Path of file that contains X509 key in PEM format', 'name': 'ssl-key'}]),
	( 'Timeout Settings', [
		{'caption': 'connect_timeout', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '5', 'outversion': (5, 0, 51), 'minimum': '2', 'type': 'integer', 'maximum': '31536000'}, {'inversion': (5, 0, 52), 'default': '10', 'maximum': '31536000', 'outversion': (5, 0, 99), 'minimum': '2', 'type': 'integer'}, {'inversion': (5, 1, 0), 'default': '5', 'maximum': '31536000', 'outversion': (5, 1, 22), 'minimum': '2', 'type': 'integer'}, {'default': '10', 'inversion': (5, 1, 23), 'minimum': '2', 'type': 'integer', 'maximum': '31536000'}], 'description': "Number of seconds the mysqld server waits for a connect packet before responding with 'Bad handshake'", 'name': 'connect_timeout'},
		{'caption': 'interactive_timeout', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '28800', 'minimum': '1', 'type': 'integer'}], 'description': 'Number of seconds the server waits for activity on an interactive connection before closing it', 'name': 'interactive_timeout'},
		{'caption': 'net_read_timeout', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '30', 'minimum': '1', 'type': 'integer'}], 'description': 'Number of seconds to wait for more data from a connection before aborting the read', 'name': 'net_read_timeout'},
		{'caption': 'net_write_timeout', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '60', 'minimum': '1', 'type': 'integer'}], 'description': 'Number of seconds to wait for a block to be written to a connection before aborting the write', 'name': 'net_write_timeout'},
		{'caption': 'wait_timeout', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '28800', 'platform': 'other', 'minimum': '1', 'type': 'integer', 'maximum': '31536000'}, {'default': '28800', 'platform': 'windows', 'minimum': '1', 'type': 'integer', 'maximum': '2147483'}], 'description': 'Number of seconds the server waits for activity on a connection before closing it', 'name': 'wait_timeout'}]),
	( 'Advanced', [
		{'caption': 'max_connect_errors', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'outversion': (5, 6, 5), 'default': '10', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '1', 'type': 'integer'}, {'inversion': (5, 6, 6), 'default': '100', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '1', 'type': 'integer'}, {'outversion': (5, 5, 2), 'default': '10', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '1', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '10', 'bitsize': '64', 'maximum': '18446744073709551615', 'outversion': (5, 6, 5), 'minimum': '1', 'type': 'integer'}, {'inversion': (5, 6, 6), 'default': '100', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '1', 'type': 'integer'}], 'description': 'Number of interrupted connections from a host before this host is blocked from further connections', 'name': 'max_connect_errors'},
		{'caption': 'max_connections', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '100', 'outversion': (5, 1, 14), 'minimum': '1', 'type': 'integer', 'maximum': '16384'}, {'inversion': (5, 1, 15), 'default': '151', 'maximum': '16384', 'outversion': (5, 1, 16), 'minimum': '1', 'type': 'integer'}, {'default': '151', 'inversion': (5, 1, 17), 'minimum': '1', 'type': 'integer', 'maximum': '100000'}], 'description': 'Number of simultaneous clients allowed', 'name': 'max_connections'},
		{'caption': 'max_user_connections', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'The maximum number of active connections for a single user (0 = no limit)', 'name': 'max_user_connections'},
		{'caption': 'net_retry_count', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '10', 'bitsize': '32', 'minimum': '1', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '10', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '1', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '10', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '1', 'type': 'integer'}], 'description': 'Number of times to retry an interrupted read or write on a communication port before giving up', 'name': 'net_retry_count'}]),
	( 'General', [
		{'caption': 'bind-address', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0.0.0.0', 'outversion': (5, 6, 5), 'type': 'string'}, {'default': '*', 'inversion': (5, 6, 6), 'type': 'string'}], 'description': 'IP address or host name to bind to', 'name': 'bind-address'},
		{'caption': 'enable-named-pipe', 'versions': [(), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Enable support for named pipes.', 'name': 'enable-named-pipe'},
		{'caption': 'port', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '3306', 'minimum': '0', 'type': 'integer', 'maximum': '65535'}], 'description': 'Port number on which to listen for TCP/IP connections', 'name': 'port'},
		{'caption': 'port-open-timeout', 'versions': [((5, 0, 19), (5, 1, 5)), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'type': 'integer'}], 'description': 'Maximum time in seconds to wait for the port to become free (Default: no wait)', 'name': 'port-open-timeout'},
		{'caption': 'skip-name-resolve', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': "Don't resolve host names. All host names are IPs or 'localhost'", 'name': 'skip-name-resolve'},
		{'caption': 'skip-networking', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': "Don't allow connection with TCP/IP", 'name': 'skip-networking'},
		{'caption': 'socket', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '/tmp/mysql.sock', 'type': 'filebrowse'}], 'description': 'Socket file on which to listen for Unix socket connections', 'name': 'socket'}])]),
( 'Advanced', [
	( 'Transactions', [
		{'caption': 'completion_type', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'inversion': (5, 0, 3), 'type': 'integer', 'outversion': (5, 5, 2), 'choice': ['0', '1', '2']}, {'default': 'NO_CHAIN', 'inversion': (5, 5, 3), 'type': 'enum', 'choice': ['NO_CHAIN', 'CHAIN', 'RELEASE', '0', '1', '2']}, {'default': '0', 'inversion': (6, 0, 0), 'type': 'integer', 'outversion': (6, 0, 14), 'choice': ['0', '1', '2']}, {'default': 'NO_CHAIN', 'inversion': (6, 0, 14), 'type': 'enum', 'choice': ['NO_CHAIN', 'CHAIN', 'RELEASE', '0', '1', '2']}], 'description': 'Default completion type', 'name': 'completion_type'},
		{'caption': 'transaction-isolation', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'REPEATABLE-READ', 'type': 'enum', 'choice': ['READ-UNCOMMITTED', 'READ-COMMITTED', 'REPEATABLE-READ', 'SERIALIZABLE']}], 'description': 'Default transaction isolation level', 'name': 'transaction-isolation'},
		{'caption': 'transaction-read-only', 'versions': [((5, 6, 5),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Default transaction access mode', 'name': 'transaction-read-only'},
		{'caption': 'transaction_alloc_block_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'outversion': (5, 5, 42), 'default': '8192', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '1024', 'blocksize': '1024', 'type': 'integer'}, {'inversion': (5, 6, 0), 'minimum': '1024', 'blocksize': '1024', 'default': '8192', 'bitsize': '32', 'type': 'integer', 'maximum': '4294967295', 'outversion': (5, 6, 23)}, {'inversion': (5, 7, 0), 'minimum': '1024', 'blocksize': '1024', 'default': '8192', 'bitsize': '32', 'type': 'integer', 'maximum': '4294967295', 'outversion': (5, 7, 5)}, {'outversion': (5, 5, 2), 'default': '8192', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '1024', 'blocksize': '1024', 'type': 'integer'}, {'inversion': (5, 5, 3), 'minimum': '1024', 'blocksize': '1024', 'default': '8192', 'bitsize': '64', 'type': 'integer', 'maximum': '18446744073709551615', 'outversion': (5, 5, 42)}, {'inversion': (5, 6, 0), 'minimum': '1024', 'blocksize': '1024', 'default': '8192', 'bitsize': '64', 'type': 'integer', 'maximum': '18446744073709551615', 'outversion': (5, 6, 23)}, {'inversion': (5, 7, 0), 'minimum': '1024', 'blocksize': '1024', 'default': '8192', 'bitsize': '64', 'type': 'integer', 'maximum': '18446744073709551615', 'outversion': (5, 7, 5)}, {'inversion': (5, 5, 43), 'default': '8192', 'blocksize': '1024', 'maximum': '131072', 'outversion': (5, 5, 99), 'minimum': '1024', 'type': 'integer'}, {'inversion': (5, 6, 24), 'default': '8192', 'blocksize': '1024', 'maximum': '131072', 'outversion': (5, 6, 99), 'minimum': '1024', 'type': 'integer'}, {'inversion': (5, 7, 6), 'default': '8192', 'blocksize': '1024', 'maximum': '131072', 'minimum': '1024', 'type': 'integer'}], 'description': 'Allocation block size for transactions to be stored in binary log', 'name': 'transaction_alloc_block_size'},
		{'caption': 'transaction_prealloc_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'outversion': (5, 5, 42), 'default': '4096', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '1024', 'blocksize': '1024', 'type': 'integer'}, {'inversion': (5, 6, 0), 'minimum': '1024', 'blocksize': '1024', 'default': '4096', 'bitsize': '32', 'type': 'integer', 'maximum': '4294967295', 'outversion': (5, 6, 23)}, {'inversion': (5, 7, 0), 'minimum': '1024', 'blocksize': '1024', 'default': '4096', 'bitsize': '32', 'type': 'integer', 'maximum': '4294967295', 'outversion': (5, 7, 5)}, {'outversion': (5, 5, 2), 'default': '4096', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '1024', 'blocksize': '1024', 'type': 'integer'}, {'inversion': (5, 5, 3), 'minimum': '1024', 'blocksize': '1024', 'default': '4096', 'bitsize': '64', 'type': 'integer', 'maximum': '18446744073709551615', 'outversion': (5, 5, 42)}, {'inversion': (5, 6, 0), 'minimum': '1024', 'blocksize': '1024', 'default': '4096', 'bitsize': '64', 'type': 'integer', 'maximum': '18446744073709551615', 'outversion': (5, 6, 23)}, {'inversion': (5, 7, 0), 'minimum': '1024', 'blocksize': '1024', 'default': '4096', 'bitsize': '64', 'type': 'integer', 'maximum': '18446744073709551615', 'outversion': (5, 7, 5)}, {'inversion': (5, 5, 43), 'default': '4096', 'blocksize': '1024', 'maximum': '131072', 'outversion': (5, 5, 99), 'minimum': '1024', 'type': 'integer'}, {'inversion': (5, 6, 24), 'default': '4096', 'blocksize': '1024', 'maximum': '131072', 'outversion': (5, 6, 99), 'minimum': '1024', 'type': 'integer'}, {'inversion': (5, 7, 6), 'default': '4096', 'blocksize': '1024', 'maximum': '131072', 'minimum': '1024', 'type': 'integer'}], 'description': 'Persistent buffer for transactions to be stored in binary log', 'name': 'transaction_prealloc_size'}]),
	( 'Deprecated', [
		{'caption': 'old-alter-table', 'versions': [(), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Use old, nonoptimized alter table', 'name': 'old-alter-table'},
		{'caption': 'old-protocol', 'versions': [(), ((4, 1),), ((4, 1, 1),)], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Use old server behaviors', 'name': 'old-protocol'},
		{'caption': 'set-variable', 'versions': [(), ((4, 1), (5, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Change the value of a variable; please note that this option is deprecated', 'name': 'set-variable'},
		{'caption': 'warnings', 'versions': [(), ((4, 1), (5, 0)), ()], 'values': [{'default': '1', 'bitsize': '32', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '1', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '1', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '0', 'type': 'integer'}], 'description': 'Deprecated; use --log-warnings instead', 'name': 'warnings'}]),
	( 'Thread specific settings', [
		{'caption': 'slow_launch_time', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '2', 'type': 'integer'}], 'description': 'If creating the thread takes longer than this value (in seconds), the Slow_launch_threads counter will be incremented', 'name': 'slow_launch_time'},
		{'caption': 'thread_cache_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'outversion': (5, 6, 7), 'minimum': '0', 'type': 'integer', 'maximum': '16384'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 8), 'minimum': '0', 'type': 'integer', 'maximum': '16384'}], 'description': 'How many threads we should keep in a cache for reuse', 'name': 'thread_cache_size'},
		{'caption': 'thread_concurrency', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ((5, 7, 2),)], 'values': [{'default': '10', 'minimum': '1', 'type': 'integer', 'maximum': '512'}], 'description': 'Permits the application to give the threads system a hint for the desired number of threads that should be run at the same time', 'name': 'thread_concurrency'},
		{'caption': 'thread_handling', 'versions': [((5, 1, 17),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'one-thread-per-connection', 'outversion': (5, 5, 13), 'type': 'enum', 'choice': ['no-threads', 'one-thread-per-connection']}, {'default': 'one-thread-per-connection', 'inversion': (5, 5, 16), 'type': 'enum', 'outversion': (5, 6, 99), 'choice': ['no-threads', 'one-thread-per-connection', 'dynamically-loaded']}, {'default': 'one-thread-per-connection', 'inversion': (5, 7, 0), 'type': 'enum', 'choice': ['no-threads', 'one-thread-per-connection']}, {'default': 'one-thread-per-connection', 'inversion': (6, 0, 0), 'type': 'enum', 'outversion': (6, 0, 3), 'choice': ['no-threads', 'one-thread-per-connection']}, {'default': 'one-thread-per-connection', 'inversion': (6, 0, 4), 'type': 'enum', 'choice': ['no-threads', 'one-thread-per-connection', 'pool-of-threads']}], 'description': 'The thread-handling model', 'name': 'thread_handling'},
		{'caption': 'thread_pool_algorithm', 'versions': [((5, 5, 16), (5, 6, 10)), ((5, 5), (5, 6)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '1'}], 'description': 'The thread pool algorithm', 'name': 'thread_pool_algorithm'},
		{'caption': 'thread_pool_high_priority_connection', 'versions': [((5, 5, 16), (5, 6, 10)), ((5, 5), (5, 6)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '1'}], 'description': 'Whether the current session is high priority', 'name': 'thread_pool_high_priority_connection'},
		{'caption': 'thread_pool_max_unused_threads', 'versions': [((5, 5, 16), (5, 6, 10)), ((5, 5), (5, 6)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '4096'}], 'description': 'The maximum permitted number of unused threads', 'name': 'thread_pool_max_unused_threads'},
		{'caption': 'thread_pool_prio_kickup_timer', 'versions': [((5, 5, 16), (5, 6, 10)), ((5, 5), (5, 6)), ()], 'values': [{'default': '1000', 'minimum': '0', 'type': 'integer', 'maximum': '4294967294'}], 'description': 'How long before a statement is moved to high-priority execution', 'name': 'thread_pool_prio_kickup_timer'},
		{'caption': 'thread_pool_size', 'versions': [((5, 5, 16), (5, 6, 10), (6, 0, 4)), ((5, 5), (5, 6), (6, 0)), ((6, 0, 14),)], 'values': [{'default': '16', 'minimum': '1', 'type': 'integer', 'maximum': '64'}, {'default': '20', 'inversion': (6, 0, 4), 'minimum': '1', 'type': 'integer', 'maximum': '16384'}], 'description': 'Number of thread groups in the thread pool', 'name': 'thread_pool_size'},
		{'caption': 'thread_pool_stall_limit', 'versions': [((5, 5, 16), (5, 6, 10)), ((5, 5), (5, 6)), ()], 'values': [{'default': '6', 'minimum': '4', 'type': 'integer', 'maximum': '600'}], 'description': 'How long before a statement is defined as stalled', 'name': 'thread_pool_stall_limit'},
		{'caption': 'thread_stack', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '196608', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '131072', 'blocksize': '1024', 'type': 'integer'}, {'outversion': (5, 5, 2), 'default': '262144', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '131072', 'blocksize': '1024', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '262144', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '131072', 'blocksize': '1024', 'type': 'integer'}], 'description': 'The stack size for each thread', 'name': 'thread_stack'}]),
	( 'Various', [
		{'caption': 'bulk_insert_buffer_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '8388608', 'bitsize': '32', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '8388608', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '8388608', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '0', 'type': 'integer'}], 'description': 'Size of tree cache used in bulk insert optimization', 'name': 'bulk_insert_buffer_size'},
		{'caption': 'group_concat_max_len', 'versions': [((4, 1, 10),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1024', 'bitsize': '32', 'minimum': '4', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '1024', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '4', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '1024', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '4', 'type': 'integer'}], 'description': 'The maximum length of the result of function group_concat', 'name': 'group_concat_max_len'},
		{'caption': 'key_cache_block_size', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1024', 'minimum': '512', 'type': 'integer', 'maximum': '16384'}], 'description': 'The default size of key cache blocks', 'name': 'key_cache_block_size'},
		{'caption': 'key_cache_division_limit', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '100', 'minimum': '1', 'type': 'integer', 'maximum': '100'}], 'description': 'The minimum percentage of warm blocks in key cache', 'name': 'key_cache_division_limit'},
		{'caption': 'max_heap_table_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '16777216', 'bitsize': '32', 'minimum': '16384', 'type': 'integer', 'maximum': '4294967295'}, {'default': '16777216', 'bitsize': '64', 'minimum': '16384', 'type': 'integer', 'maximum': '1844674407370954752'}], 'description': "Don't allow creation of heap tables bigger than this", 'name': 'max_heap_table_size'},
		{'caption': 'max_join_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '4294967295', 'outversion': (5, 4, 99), 'minimum': '1', 'type': 'integer', 'maximum': '4294967295'}, {'default': '18446744073709551615', 'inversion': (5, 5, 0), 'minimum': '1', 'type': 'integer', 'maximum': '18446744073709551615'}], 'description': 'Joins that are probably going to read more than max_join_size records return an error', 'name': 'max_join_size'},
		{'caption': 'max_length_for_sort_data', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1024', 'minimum': '4', 'type': 'integer', 'maximum': '8388608'}], 'description': 'Max number of bytes in sorted records', 'name': 'max_length_for_sort_data'},
		{'caption': 'max_seeks_for_key', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '4294967295', 'bitsize': '32', 'minimum': '1', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '18446744073709547520', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '1', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '18446744073709551615', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '1', 'type': 'integer'}], 'description': 'Limit assumed max number of seeks when looking up rows based on a key', 'name': 'max_seeks_for_key'},
		{'caption': 'max_sort_length', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1024', 'minimum': '4', 'type': 'integer', 'maximum': '8388608'}], 'description': 'Number of bytes to use when sorting data values', 'name': 'max_sort_length'},
		{'caption': 'max_write_lock_count', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '4294967295', 'bitsize': '32', 'minimum': '1', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '18446744073709547520', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '1', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '18446744073709551615', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '1', 'type': 'integer'}], 'description': 'After this many write locks, allow some read locks to run in between', 'name': 'max_write_lock_count'},
		{'caption': 'multi_range_count', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 2)), ((5, 2, 4), (6, 0, 3))], 'values': [{'default': '256', 'minimum': '1', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'The maximum number of ranges to send to a table handler at once during range selects', 'name': 'multi_range_count'},
		{'description': "Use very new, possibly 'unsafe' functions", 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'disabledby': 'skip-new', 'caption': 'new', 'values': [{'default': 'false', 'on': 'true', 'off': 'disabledby', 'type': 'boolean'}], 'name': 'new'},
		{'caption': 'preload_buffer_size', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '32768', 'minimum': '1024', 'type': 'integer', 'maximum': '1073741824'}], 'description': 'Size of buffer that is allocated when preloading indexes', 'name': 'preload_buffer_size'},
		{'caption': 'query_prealloc_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '8192', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '8192', 'blocksize': '1024', 'type': 'integer'}, {'outversion': (5, 5, 2), 'default': '8192', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '8192', 'blocksize': '1024', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '8192', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '8192', 'blocksize': '1024', 'type': 'integer'}], 'description': 'Persistent buffer for query parsing and execution', 'name': 'query_prealloc_size'},
		{'caption': 'range_alloc_block_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '2048', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '2048', 'blocksize': '1024', 'type': 'integer'}, {'inversion': (5, 0, 54), 'default': '4096', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '4096', 'blocksize': '1024', 'type': 'integer'}, {'inversion': (5, 0, 54), 'default': '4096', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '4096', 'blocksize': '1024', 'type': 'integer'}, {'outversion': (5, 5, 2), 'default': '2048', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '2048', 'blocksize': '1024', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '2048', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '2048', 'blocksize': '1024', 'type': 'integer'}], 'description': 'Allocation block size for storing ranges during optimization', 'name': 'range_alloc_block_size'},
		{'caption': 'read_buffer_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '131072', 'minimum': '8200', 'type': 'integer', 'maximum': '2147479552'}], 'description': 'Each thread that does a sequential scan for a MyISAM table allocates a buffer of this size for each table it scans', 'name': 'read_buffer_size'},
		{'caption': 'read_rnd_buffer_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '262144', 'outversion': (5, 5, 2), 'minimum': '8200', 'type': 'integer', 'maximum': '2147483647'}, {'default': '262144', 'inversion': (5, 5, 3), 'minimum': '1', 'type': 'integer', 'maximum': '2147483647'}], 'description': 'When reading rows from a MyISAM table in sorted order after a sort, the rows are read through this buffer to avoid a disk seeks. If not set, then it is set to the value of record_buffer.', 'name': 'read_rnd_buffer_size'},
		{'caption': 'tmp_table_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '33554432', 'outversion': (5, 0, 85), 'minimum': '1024', 'type': 'integer', 'maximum': '4294967295'}, {'inversion': (5, 0, 86), 'default': '33554432', 'maximum': '9223372036854775807', 'outversion': (5, 0, 99), 'minimum': '1024', 'type': 'integer'}, {'inversion': (5, 1, 0), 'default': '33554432', 'maximum': '4294967295', 'outversion': (5, 1, 11), 'minimum': '1024', 'type': 'integer'}, {'inversion': (5, 1, 12), 'default': '16777216', 'maximum': '4294967295', 'outversion': (5, 1, 36), 'minimum': '1024', 'type': 'integer'}, {'inversion': (5, 1, 37), 'default': '16777216', 'maximum': '9223372036854775807', 'outversion': (5, 1, 55), 'minimum': '1024', 'type': 'integer'}, {'default': '16777216', 'inversion': (5, 1, 56), 'minimum': '1024', 'type': 'integer', 'maximum': '18446744073709551615'}], 'description': 'If an in-memory temporary table exceeds this size, MySQL will automatically convert it to an on-disk MyISAM table', 'name': 'tmp_table_size'}]),
	( 'Insert delayed settings', [
		{'caption': 'delayed_insert_limit', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '100', 'bitsize': '32', 'minimum': '1', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '100', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '1', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '100', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '1', 'type': 'integer'}], 'description': 'After inserting delayed_insert_limit rows, the INSERT DELAYED handler will check if there are any SELECT statements pending. If so, it allows these to execute before continuing', 'name': 'delayed_insert_limit'},
		{'caption': 'delayed_insert_timeout', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '300', 'type': 'integer'}], 'description': 'How many seconds an INSERT DELAYED thread should wait for INSERT statements before terminating', 'name': 'delayed_insert_timeout'},
		{'caption': 'delayed_queue_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1000', 'bitsize': '32', 'minimum': '1', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '1000', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '1', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '1000', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '1', 'type': 'integer'}], 'description': 'What size queue (in rows) should be allocated for handling INSERT DELAYED', 'name': 'delayed_queue_size'},
		{'caption': 'max_delayed_threads', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '20', 'minimum': '0', 'type': 'integer', 'maximum': '16384'}], 'description': "Don't start more than this number of threads to handle INSERT DELAYED statements. If set to zero, which means INSERT DELAYED is not used", 'name': 'max_delayed_threads'}]),
	( 'General', [
		{'caption': 'bootstrap', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Used by mysql installation scripts', 'name': 'bootstrap'},
		{'caption': 'chroot', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'Chroot mysqld daemon during startup', 'name': 'chroot'},
		{'caption': 'debug', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'd:t:i:o,/tmp/mysqld.trace', 'platform': 'unix', 'type': 'string'}, {'default': 'd:t:i:O,\\mysqld.trace', 'platform': 'windows', 'type': 'string'}], 'description': 'Output debug log', 'name': 'debug'},
		{'caption': 'debug-sync-timeout', 'versions': [((5, 1, 41), (6, 0, 6)), ((5, 1), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'integer'}], 'description': 'Timeout for Debug Sync synchronization points', 'name': 'debug-sync-timeout'},
		{'caption': 'div_precision_increment', 'versions': [((5, 0, 6),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '4', 'minimum': '0', 'type': 'integer', 'maximum': '30'}], 'description': "Scale of the result of '/' operator will be increased by this many digits", 'name': 'div_precision_increment'},
		{'caption': 'exit-info', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'integer'}], 'description': 'Used for debugging; Use at your own risk!', 'name': 'exit-info'},
		{'caption': 'flush', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Flush tables to disk between SQL statements', 'name': 'flush'},
		{'caption': 'flush_time', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer'}, {'default': '1800', 'platform': 'windows', 'outversion': (5, 6, 5), 'minimum': '0', 'type': 'integer'}, {'default': '0', 'platform': 'windows', 'inversion': (5, 6, 6), 'minimum': '0', 'type': 'integer'}], 'description': 'A dedicated thread is created to flush all tables at the given interval', 'name': 'flush_time'},
		{'caption': 'init_connect', 'versions': [((4, 1, 2),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Statements that are executed for each new connection', 'name': 'init_connect'},
		{'caption': 'init_slave', 'versions': [((4, 1, 2),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Statements that are executed when a slave connects to a master', 'name': 'init_slave'},
		{'caption': 'max_digest_length', 'versions': [((5, 6, 24), (5, 7, 6)), ((5, 6), (5, 7)), ()], 'values': [{'default': '1024', 'minimum': '0', 'type': 'integer', 'maximum': '1048576'}], 'description': 'The maximum digest size in bytes', 'name': 'max_digest_length'},
		{'caption': 'max_error_count', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '64', 'minimum': '0', 'type': 'integer', 'maximum': '65535'}], 'description': 'Max number of errors/warnings to store for a statement', 'name': 'max_error_count'},
		{'optype': {'inversion': '5.0.21'}, 'description': 'Maximum number of prepared statements in the server', 'versions': [((4, 1, 19), (5, 0, 21), (5, 1, 10)), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'caption': 'max_prepared_stmt_count', 'values': [{'default': '16382', 'minimum': '0', 'type': 'integer', 'maximum': '1048576'}], 'name': 'max_prepared_stmt_count'},
		{'caption': 'max_sp_recursion_depth', 'versions': [((5, 0, 17),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'type': 'integer', 'maximum': '255'}], 'description': 'Maximum stored procedure recursion depth', 'name': 'max_sp_recursion_depth'},
		{'caption': 'memlock', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Lock the mysqld process in memory', 'name': 'memlock'},
		{'caption': 'min-examined-row-limit', 'versions': [((5, 1, 21), (6, 0, 4)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'bitsize': '32', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '0', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '0', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '0', 'type': 'integer'}], 'description': 'Queries examining fewer than this number of rows are not logged to slow query log', 'name': 'min-examined-row-limit'},
		{'caption': 'mutex-deadlock-detector', 'versions': [((6, 0, 9),), ((6, 0),), ()], 'values': [{'default': 'true', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Enable detection of incorrect mutex usage', 'name': 'mutex-deadlock-detector'},
		{'caption': 'old-style-user-limits', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Enable old-style user limits (before 5.0.3, user resources were counted per each user+host vs. per account)', 'name': 'old-style-user-limits'},
		{'caption': 'open-files-limit', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'outversion': (5, 6, 7), 'minimum': '0', 'type': 'integer', 'maximum': 'platform dependent'}, {'default': '5000, with possible adjustment', 'inversion': (5, 6, 8), 'minimum': '0', 'type': 'integer', 'maximum': 'platform dependent'}], 'description': 'If this is not 0, then mysqld will use this value to reserve file descriptors to use with setrlimit()', 'name': 'open-files-limit'},
		{'caption': 'restore_disables_events', 'versions': [((6, 0, 14),), ((6, 0),), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether RESTORE disables restored events', 'name': 'restore_disables_events'},
		{'caption': 'restore_elevation', 'versions': [((6, 0, 14),), ((6, 0),), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enable or disable RESTORE privilege elevation', 'name': 'restore_elevation'},
		{'caption': 'restore_precheck', 'versions': [((6, 0, 14),), ((6, 0),), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether RESTORE performs privilege checking before restoring', 'name': 'restore_precheck'},
		{'caption': 'skip-concurrent-insert', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Turn off the ability to select and insert at the same time on MyISAM tables', 'name': 'skip-concurrent-insert'},
		{'caption': 'skip-thread-priority', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (6, 0)), ((5, 6, 1),)], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': "Don't give threads different priorities", 'name': 'skip-thread-priority'},
		{'caption': 'slow-start-timeout', 'versions': [((5, 5, 20), (5, 6, 5)), ((5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '15000', 'platform': 'windows', 'type': 'integer'}], 'description': 'Wait before trying to kill windows service at startup', 'name': 'slow-start-timeout'},
		{'caption': 'standalone', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Instructs the MySQL server not to run as a service', 'name': 'standalone'},
		{'caption': 'sync_frm', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'true', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Sync .frm to disk on create. Enabled by default', 'name': 'sync_frm'},
		{'caption': 'updatable_views_with_limit', 'versions': [((5, 0, 2),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1', 'on': '1', 'off': '0', 'type': 'boolean'}], 'description': 'This variable controls whether updates to a view can be made when the view does not contain all columns of the primary key', 'name': 'updatable_views_with_limit'}])]),
( 'Other', [
	( 'Storage Engines', [
		{'caption': 'skip-bdb', 'versions': [(), ((4, 1), (5, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Disable Berkeley DB (if this version of MySQL supports it)', 'name': 'skip-bdb'},
		{'caption': 'skip-falcon', 'versions': [(), ((6, 0),), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Disable the Falcon storage engine', 'name': 'skip-falcon'},
		{'caption': 'skip-merge', 'versions': [((5, 0, 24), (5, 1, 12)), ((5, 0), (5, 1)), ((5, 1, 14),)], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Disable Merge storage engine', 'name': 'skip-merge'},
		{'caption': 'skip-sync-bdb-logs', 'versions': [(), ((4, 1), (5, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Disables synchronous BDB log flushes', 'name': 'skip-sync-bdb-logs'}]),
	( 'NDB', [
		{'caption': 'ndb-batch-size', 'versions': [((5, 1, 23),), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '32768', 'minimum': '0', 'type': 'integer', 'maximum': '31536000'}], 'description': 'Size (in bytes) to use for NDB transaction batches', 'name': 'ndb-batch-size'},
		{'caption': 'ndb-blob-read-batch-bytes', 'versions': [((5, 1, 51),), ((5, 1), (5, 5), (5, 6)), ()], 'values': [{'default': '65536', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Specifies size in bytes that large BLOB reads should be batched into. 0 = no limit.', 'name': 'ndb-blob-read-batch-bytes'},
		{'caption': 'ndb-blob-write-batch-bytes', 'versions': [((5, 1, 51),), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '65536', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Specifies size in bytes that large BLOB writes should be batched into. 0 = no limit.', 'name': 'ndb-blob-write-batch-bytes'},
		{'caption': 'ndb-cluster-connection-pool', 'versions': [((5, 1, 19),), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '1', 'minimum': '1', 'type': 'integer', 'maximum': '63'}], 'description': 'Number of connections to the cluster used by MySQL', 'name': 'ndb-cluster-connection-pool'},
		{'caption': 'ndb-connectstring', 'versions': [(), ((5, 0), (5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'type': 'string'}], 'description': 'Point to the management server that distributes the cluster configuration', 'name': 'ndb-connectstring'},
		{'caption': 'ndb-log-transaction-id', 'versions': [((5, 1, 56), (5, 5, 15)), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Write NDB transaction IDs in the binary log. Requires --log-bin-v1-events=OFF.', 'name': 'ndb-log-transaction-id'},
		{'caption': 'ndb-log-update-as-write', 'versions': [((5, 1, 19),), ((5, 1), (5, 5), (5, 6)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Toggles logging of updates on the master between updates (OFF) and writes (ON)', 'name': 'ndb-log-update-as-write'},
		{'caption': 'ndb-mgmd-host', 'versions': [(), ((5, 0), (5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'localhost:1186', 'type': 'string'}], 'description': 'Set the host (and port, if desired) for connecting to management server', 'name': 'ndb-mgmd-host'},
		{'caption': 'ndb-nodeid', 'versions': [((5, 0, 45), (5, 1, 15)), ((5, 0), (5, 1), (5, 5), (5, 6)), ()], 'values': [{'inversion': (5, 0, 45), 'minimum': '1', 'type': 'integer', 'maximum': '63'}, {'inversion': (5, 1, 5), 'minimum': '1', 'type': 'integer', 'maximum': '255'}], 'description': 'MySQL Cluster node ID for this MySQL server', 'name': 'ndb-nodeid'},
		{'caption': 'ndb-recv-thread-activation-threshold', 'versions': [((5, 6, 10),), ((5, 6),), ()], 'values': [{'default': '8', 'inversion': (5, 6, 10), 'minimum': '0 (MIN_ACTIVATION_THRESHOLD)', 'type': 'integer', 'maximum': '16 (MAX_ACTIVATION_THRESHOLD)'}], 'description': 'Activation threshold when receive thread takes over the polling of the cluster connection (measured in concurrently active threads)', 'name': 'ndb-recv-thread-activation-threshold'},
		{'caption': 'ndb-recv-thread-cpu-mask', 'versions': [((5, 6, 10),), ((5, 6),), ()], 'values': [{'type': 'string'}], 'description': 'CPU mask for locking receiver threads to specific CPUs; specified as hexadecimal. See documentation for details.', 'name': 'ndb-recv-thread-cpu-mask'},
		{'caption': 'ndb-wait-connected', 'versions': [((5, 1, 16),), ((5, 1), (5, 5), (5, 6)), ()], 'values': [{'default': '0', 'outversion': (5, 1, 56), 'minimum': '0', 'type': 'integer', 'maximum': '31536000'}, {'default': '30', 'inversion': (5, 1, 56), 'minimum': '0', 'type': 'integer', 'maximum': '31536000'}], 'description': 'Time (in seconds) for the MySQL server to wait for connection to cluster management and data nodes before accepting MySQL client connections.', 'name': 'ndb-wait-connected'},
		{'caption': 'ndb-wait-setup', 'versions': [((5, 1, 39),), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '15', 'outversion': (5, 1, 56), 'minimum': '0', 'type': 'integer', 'maximum': '31536000'}, {'default': '30', 'inversion': (5, 1, 56), 'minimum': '0', 'type': 'integer', 'maximum': '31536000'}], 'description': 'Time (in seconds) for the MySQL server to wait for NDB engine setup to complete.', 'name': 'ndb-wait-setup'},
		{'caption': 'ndb_autoincrement_prefetch_sz', 'versions': [((4, 1, 8),), ((4, 1), (5, 0), (5, 1), (5, 5), (5, 6), (6, 0)), ()], 'values': [{'default': '32', 'outversion': (5, 0, 55), 'minimum': '1', 'type': 'integer', 'maximum': '256'}, {'default': '1', 'inversion': (5, 0, 56), 'minimum': '1', 'type': 'integer', 'maximum': '256'}, {'inversion': (5, 1, 1), 'default': '32', 'maximum': '256', 'outversion': (5, 1, 22), 'minimum': '1', 'type': 'integer'}, {'inversion': (5, 1, 23), 'default': '1', 'maximum': '256', 'outversion': (5, 1, 24), 'minimum': '1', 'type': 'integer'}, {'inversion': (5, 1, 16), 'default': '32', 'maximum': '256', 'outversion': (5, 1, 22), 'minimum': '1', 'type': 'integer'}, {'default': '1', 'inversion': (5, 1, 23), 'minimum': '1', 'type': 'integer', 'maximum': '256'}, {'inversion': (5, 1, 19), 'default': '32', 'maximum': '256', 'outversion': (5, 1, 22), 'minimum': '1', 'type': 'integer'}, {'inversion': (5, 1, 23), 'default': '1', 'maximum': '256', 'outversion': (5, 1, 39), 'minimum': '1', 'type': 'integer'}, {'default': '1', 'inversion': (5, 1, 41), 'minimum': '1', 'type': 'integer', 'maximum': '65536'}, {'inversion': (5, 1, 30), 'default': '32', 'maximum': '256', 'outversion': (5, 1, 39), 'minimum': '1', 'type': 'integer'}, {'default': '1', 'inversion': (5, 1, 41), 'minimum': '1', 'type': 'integer', 'maximum': '65536'}, {'default': '1', 'inversion': (5, 5, 15), 'minimum': '1', 'type': 'integer', 'maximum': '65536'}], 'description': 'NDB auto-increment prefetch size', 'name': 'ndb_autoincrement_prefetch_sz'},
		{'caption': 'ndb_cache_check_time', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 5), (5, 6)), ()], 'values': [{'default': '0', 'type': 'integer'}], 'description': 'Number of milliseconds between checks of cluster SQL nodes made by the MySQL query cache', 'name': 'ndb_cache_check_time'},
		{'caption': 'ndb_deferred_constraints', 'versions': [((5, 1, 56),), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '1'}], 'description': 'Specifies that constraint checks should be deferred (where these are supported). Not normally needed or used; for testing purposes only.', 'name': 'ndb_deferred_constraints'},
		{'caption': 'ndb_distribution', 'versions': [((5, 1, 32),), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'KEYHASH', 'type': 'enum', 'choice': ['LINHASH', 'KEYHASH']}], 'description': 'Default distribution for new tables in NDBCLUSTER (KEYHASH or LINHASH, default is KEYHASH)', 'name': 'ndb_distribution'},
		{'caption': 'ndb_eventbuffer_free_percent', 'versions': [((5, 6, 22),), ((5, 6), (5, 7)), ()], 'values': [{'default': '20', 'minimum': '1', 'type': 'integer', 'maximum': '99'}], 'description': 'Percentage of free memory that should be available in event buffer before resumption of buffering, after reaching limit set by ndb_eventbuffer_max_alloc.', 'name': 'ndb_eventbuffer_free_percent'},
		{'caption': 'ndb_eventbuffer_max_alloc', 'versions': [((5, 1, 72), (5, 5, 34), (5, 6, 14)), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Maximum memory that can be allocated for buffering events by the NDB API. Defaults to 0 (no limit).', 'name': 'ndb_eventbuffer_max_alloc'},
		{'caption': 'ndb_extra_logging', 'versions': [((5, 1, 6),), ((5, 1), (5, 5), (5, 6)), ()], 'values': [{'default': '0', 'outversion': (5, 1, 18), 'type': 'integer'}, {'default': '1', 'inversion': (5, 1, 19), 'type': 'integer'}], 'description': 'Controls logging of MySQL Cluster schema, connection, and data distribution events in the MySQL error log', 'name': 'ndb_extra_logging'},
		{'caption': 'ndb_force_send', 'versions': [((4, 1, 8),), ((4, 1), (5, 0), (5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'true', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Forces sending of buffers to NDB immediately, without waiting for other threads', 'name': 'ndb_force_send'},
		{'caption': 'ndb_index_stat_cache_entries', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 5), (5, 6)), ((5, 1, 73), (5, 5, 36), (5, 6, 16))], 'values': [{'default': '32', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Sets the granularity of the statistics by determining the number of starting and ending keys', 'name': 'ndb_index_stat_cache_entries'},
		{'caption': 'ndb_index_stat_enable', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'outversion': (5, 1, 51), 'off': 'off', 'type': 'boolean'}, {'default': 'on', 'on': 'on', 'inversion': (5, 5, 15), 'off': 'off', 'type': 'boolean'}], 'description': 'Use NDB index statistics in query optimization', 'name': 'ndb_index_stat_enable'},
		{'caption': 'ndb_index_stat_option', 'versions': [((5, 1, 1), (5, 5, 15)), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'loop_enable=1000ms,loop_idle=1000ms,loop_busy=100ms,         update_batch=1,read_batch=4,idle_batch=32,check_batch=8,          check_delay=10m,delete_batch=8, clean_delay=1m,error_batch=4,          error_delay=1m,evict_batch=8,evict_delay=1m,cache_limit=32M,          cache_lowpct=90,zero_total=0', 'outversion': (5, 1, 56), 'type': 'string'}, {'default': 'loop_checkon=1000ms,loop_idle=1000ms,loop_busy=100ms,         update_batch=1,read_batch=4,idle_batch=32,check_batch=32,         check_delay=1m,delete_batch=8,clean_delay=0,error_batch=4,         error_delay=1m,evict_batch=8,evict_delay=1m,cache_limit=32M,         cache_lowpct=90', 'inversion': (5, 1, 56), 'type': 'string'}], 'description': 'Comma-separated list of tunable options for NDB index statistics; the list should contain no spaces', 'name': 'ndb_index_stat_option'},
		{'caption': 'ndb_index_stat_update_freq', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 5), (5, 6)), ((5, 1, 73), (5, 5, 36), (5, 6, 16))], 'values': [{'default': '20', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'How often to query data nodes instead of the statistics cache', 'name': 'ndb_index_stat_update_freq'},
		{'caption': 'ndb_log_apply_status', 'versions': [((5, 1, 51),), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether or not a MySQL server acting as a slave logs mysql.ndb_apply_status updates received from its immediate master in its own binary log, using its own server ID.', 'name': 'ndb_log_apply_status'},
		{'caption': 'ndb_log_empty_epochs', 'versions': [((5, 1, 31),), ((5, 1), (5, 5), (5, 6)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'When enabled, epochs in which there were no changes are written to the ndb_apply_status and ndb_binlog_index tables, even when log_slave_updates is enabled.', 'name': 'ndb_log_empty_epochs'},
		{'caption': 'ndb_log_exclusive_reads', 'versions': [((5, 6, 20),), ((5, 6),), ()], 'values': [{'default': '0', 'on': '1', 'off': '0', 'type': 'boolean'}], 'description': 'Log primary key reads with exclusive locks; allow conflict resolution based on read conflicts.', 'name': 'ndb_log_exclusive_reads'},
		{'caption': 'ndb_log_orig', 'versions': [((5, 1, 22),), ((5, 1), (5, 5), (5, 6)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether the id and epoch of the originating server are recorded in the mysql.ndb_binlog_index table. Set using the --ndb-log-orig option when starting mysqld.', 'name': 'ndb_log_orig'},
		{'caption': 'ndb_log_updated_only', 'versions': [((5, 1, 19),), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Log complete rows (ON) or updates only (OFF)', 'name': 'ndb_log_updated_only'},
		{'caption': 'ndb_optimized_node_selection', 'versions': [((4, 1, 9),), ((4, 1), (5, 0), (5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'on', 'on': 'on', 'outversion': (5, 1, 22), 'off': 'off', 'type': 'boolean'}, {'default': '3', 'inversion': (5, 1, 22), 'minimum': '0', 'type': 'integer', 'maximum': '3'}], 'description': 'Determines how an SQL node chooses a cluster data node to use as transaction coordinator', 'name': 'ndb_optimized_node_selection'},
		{'caption': 'ndb_report_thresh_binlog_epoch_slip', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '3', 'minimum': '0', 'type': 'integer', 'maximum': '256'}], 'description': 'This is a threshold on the number of epochs to be behind before reporting binary log status', 'name': 'ndb_report_thresh_binlog_epoch_slip'},
		{'caption': 'ndb_report_thresh_binlog_mem_usage', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '10', 'minimum': '0', 'type': 'integer', 'maximum': '10'}], 'description': 'This is a threshold on the percentage of free memory remaining before reporting binary log status', 'name': 'ndb_report_thresh_binlog_mem_usage'},
		{'caption': 'ndb_show_foreign_key_mock_tables', 'versions': [((5, 6, 11),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Show the mock tables used to support foreign_key_checks=0.', 'name': 'ndb_show_foreign_key_mock_tables'},
		{'caption': 'ndb_slave_conflict_role', 'versions': [((5, 6, 20),), ((5, 6),), ()], 'values': [{'default': 'NONE', 'type': 'enum', 'choice': ['NONE', 'PRIMARY', 'SECONDARY', 'PASS']}], 'description': 'Role for slave to play in conflict detection and resolution. Value is one of PRIMARY, SECONDARY, PASS, or NONE (default). Can be changed only when slave SQL thread is stopped. See documentation for further information.', 'name': 'ndb_slave_conflict_role'},
		{'caption': 'ndb_use_transactions', 'versions': [((4, 1, 18),), ((4, 1), (5, 0), (5, 1), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Forces NDB to use a count of records during SELECT COUNT(*) query planning to speed up this type of query', 'name': 'ndb_use_transactions'},
		{'description': 'Enable NDB Cluster (if this version of MySQL supports it)', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 5), (5, 6)), ()], 'disabledby': 'skip-ndbcluster', 'caption': 'ndbcluster', 'values': [{'default': 'false', 'on': 'true', 'off': 'disabledby', 'type': 'boolean'}], 'name': 'ndbcluster'}]),
	( 'Memcached', [
		{'caption': 'daemon_memcached_enable_binlog', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': '', 'name': 'daemon_memcached_enable_binlog'},
		{'caption': 'daemon_memcached_engine_lib_name', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'innodb_engine.so', 'type': 'filename'}], 'description': 'Specifies the shared library that implements the InnoDB memcached plugin', 'name': 'daemon_memcached_engine_lib_name'},
		{'caption': 'daemon_memcached_engine_lib_path', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'NULL', 'type': 'dirname'}], 'description': 'Path of directory that contains the shared library that implements the InnoDB memcached plugin', 'name': 'daemon_memcached_engine_lib_path'},
		{'caption': 'daemon_memcached_option', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': '', 'type': 'string'}], 'description': 'Space-separated options that are passed to the underlying memcached daemon on startup', 'name': 'daemon_memcached_option'},
		{'caption': 'daemon_memcached_r_batch_size', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': '1', 'type': 'integer'}], 'description': 'Specifies how many memcached read operations to perform before doing a COMMIT to start a new transaction', 'name': 'daemon_memcached_r_batch_size'},
		{'caption': 'daemon_memcached_w_batch_size', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': '1', 'type': 'integer'}], 'description': 'Specifies how many memcached write operations to perform before doing a COMMIT to start a new transaction', 'name': 'daemon_memcached_w_batch_size'}])]),
( 'Security', [
	( 'Security', [
		{'caption': 'allow-suspicious-udfs', 'versions': [((4, 1, 10), (5, 0, 3)), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Allows use of UDFs consisting of only one symbol xxx() without corresponding xxx_init() or xxx_deinit()', 'name': 'allow-suspicious-udfs'},
		{'caption': 'authentication_windows_log_level', 'versions': [((5, 5, 16), (5, 6, 10)), ((5, 5), (5, 6)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '4'}], 'description': 'Windows authentication plugin logging level', 'name': 'authentication_windows_log_level'},
		{'caption': 'authentication_windows_use_principal_name', 'versions': [((5, 5, 16), (5, 6, 10)), ((5, 5), (5, 6)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to use Windows authentication plugin principal name', 'name': 'authentication_windows_use_principal_name'},
		{'optype': {'format': 'block_encryption_mode=#'}, 'description': 'Mode for block-based encryption algorithms', 'versions': [((5, 6, 17), (5, 7, 4)), ((5, 6), (5, 7)), ()], 'caption': 'block_encryption_mode', 'values': [{'default': 'aes-128-ecb', 'type': 'string'}], 'name': 'block_encryption_mode'},
		{'caption': 'des-key-file', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [], 'description': 'Load keys for des_encrypt() and des_encrypt from given file', 'name': 'des-key-file'},
		{'caption': 'read_only', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Make all nontemporary tables read only', 'name': 'read_only'},
		{'caption': 'safe-mode', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (6, 0)), ((5, 6, 6),)], 'values': [{'on': '1', 'off': '0', 'type': 'boolean'}], 'description': 'Skip some optimization stages (for testing)', 'name': 'safe-mode'},
		{'caption': 'safe-show-database', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (6, 0)), ((5, 5, 3),)], 'values': [{'on': '1', 'off': '0', 'type': 'boolean'}], 'description': 'Deprecated option; use GRANT SHOW DATABASES instead', 'name': 'safe-show-database'},
		{'caption': 'safe-user-create', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': "Don't allow new user creation by the user who has no write privileges to the mysql.user table", 'name': 'safe-user-create'},
		{'caption': 'safemalloc-mem-limit', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (6, 0)), ((5, 5, 6),)], 'values': [{'type': 'integer'}], 'description': 'Simulate memory shortage', 'name': 'safemalloc-mem-limit'},
		{'caption': 'secure-auth', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'outversion': (5, 6, 4), 'off': 'off', 'type': 'boolean'}, {'default': 'on', 'on': 'on', 'inversion': (5, 6, 5), 'off': 'off', 'type': 'boolean'}], 'description': 'Disallow authentication for accounts that have old (pre-4.1) passwords', 'name': 'secure-auth'},
		{'caption': 'secure-backup-file-priv', 'versions': [((6, 0, 11),), ((6, 0),), ()], 'values': [{'type': 'string'}], 'description': 'Limit BACKUP DATABASE and RESTORE to files in a single directory', 'name': 'secure-backup-file-priv'},
		{'caption': 'secure-file-priv', 'versions': [((5, 0, 38), (5, 1, 17)), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'empty', 'outversion': (5, 7, 5), 'type': 'string', 'choice': ['dirname']}, {'default': 'platform-specific', 'inversion': (5, 7, 6), 'type': 'string', 'choice': ['empty', 'dirname', 'NULL']}], 'description': 'Limit LOAD DATA, and SELECT ... INTO OUTFILE, and LOAD_FILE() to files in specified directory', 'name': 'secure-file-priv'},
		{'caption': 'skip-grant-tables', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Start without grant tables. This gives all users FULL ACCESS to all tables', 'name': 'skip-grant-tables'},
		{'caption': 'skip-show-database', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Do not allow SHOW DATABASE statements', 'name': 'skip-show-database'}]),
	( 'Validate password', [
		{'caption': 'backup_elevation', 'versions': [((6, 0, 14),), ((6, 0),), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enable or disable BACKUP DATABASE privilege elevation', 'name': 'backup_elevation'},
		{'caption': 'validate_password_dictionary_file', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': '{configdir}/mysql_password_dictionary.txt', 'type': 'fileedit'}], 'description': 'validate_password dictionary file', 'name': 'validate_password_dictionary_file'},
		{'caption': 'validate_password_length', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': '8', 'minimum': '0', 'type': 'integer'}], 'description': 'validate_password required password length', 'name': 'validate_password_length'},
		{'caption': 'validate_password_mixed_case_count', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': '1', 'minimum': '0', 'type': 'integer'}], 'description': 'validate_password required number of uppercase/lowercase characters', 'name': 'validate_password_mixed_case_count'},
		{'caption': 'validate_password_number_count', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': '1', 'minimum': '0', 'type': 'integer'}], 'description': 'validate_password required number of digit characters', 'name': 'validate_password_number_count'},
		{'caption': 'validate_password_policy', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': '1', 'type': 'enum', 'choice': ['0', '1', '2']}], 'description': 'validate_password password policy', 'name': 'validate_password_policy'},
		{'caption': 'validate_password_special_char_count', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': '1', 'minimum': '0', 'type': 'integer'}], 'description': 'validate_password required number of special characters', 'name': 'validate_password_special_char_count'}]),
	( 'Authentication', [
		{'optype': {'format': 'default-authentication-plugin=plugin_name'}, 'description': 'The default authentication plugin', 'versions': [((5, 7, 2),), ((5, 7),), ()], 'caption': 'default_authentication_plugin', 'values': [{'default': 'mysql_native_password', 'type': 'enum', 'choice': ['mysql_native_password', 'sha256_password']}], 'name': 'default_authentication_plugin'},
		{'optype': {'format': 'default_password_lifetime=#'}, 'description': 'Age in days when passwords effectively expire', 'versions': [((5, 7, 4),), ((5, 7),), ()], 'caption': 'default_password_lifetime', 'values': [{'default': '360', 'minimum': '0', 'type': 'integer', 'maximum': '65535'}], 'name': 'default_password_lifetime'},
		{'caption': 'disconnect_on_expired_password', 'versions': [((5, 6, 10), (5, 7, 1)), ((5, 6), (5, 7)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether the server disconnects clients with expired passwords if clients cannot handle such accounts', 'name': 'disconnect_on_expired_password'},
		{'caption': 'old_passwords', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'on': '1', 'outversion': (5, 6, 5), 'off': '0', 'type': 'boolean'}, {'default': '0', 'inversion': (5, 6, 6), 'type': 'enum', 'outversion': (5, 7, 4), 'choice': ['0', '1', '2']}, {'default': '0', 'inversion': (5, 7, 5), 'type': 'enum', 'choice': ['0', '2']}], 'description': 'Type of password encryption method', 'name': 'old_passwords'}])]),
( 'Replication', [
	( 'Relay Log', [
		{'caption': 'max_relay_log_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '1073741824'}], 'description': 'If nonzero, relay log is rotated automatically when its size exceeds this value. If zero, size at which rotation occurs is determined by the value of max_binlog_size.', 'name': 'max_relay_log_size'},
		{'caption': 'relay-log', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'The location and base name to use for relay logs', 'name': 'relay-log'},
		{'caption': 'relay-log-info-repository', 'versions': [((5, 6, 2),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'FILE', 'type': 'string', 'choice': ['FILE', 'TABLE']}], 'description': "Whether to write the replication SQL thread's location in the relay logs to a file or a table.", 'name': 'relay-log-info-repository'},
		{'caption': 'relay_log_index', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '*host_name*-relay-bin.index', 'type': 'filename'}], 'description': 'The name of the relay log index file.', 'name': 'relay_log_index'},
		{'caption': 'relay_log_info_file', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'relay-log.info', 'type': 'filedownload'}], 'description': 'The name of the file in which the slave records information about the relay logs.', 'name': 'relay_log_info_file'},
		{'caption': 'relay_log_purge', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'true', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Determines whether relay logs are purged', 'name': 'relay_log_purge'},
		{'caption': 'relay_log_recovery', 'versions': [((6, 0, 11),), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Whether automatic recovery of relay log files from master at startup is enabled; must be enabled for a crash-proof slave.', 'name': 'relay_log_recovery'},
		{'caption': 'relay_log_space_limit', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'bitsize': '32', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '0', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '0', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '0', 'type': 'integer'}], 'description': 'Maximum space to use for all relay logs', 'name': 'relay_log_space_limit'},
		{'caption': 'sync_relay_log', 'versions': [((6, 0, 10),), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'outversion': (5, 6, 5), 'default': '0', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 6), 'default': '10000', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '0', 'type': 'integer'}, {'outversion': (5, 5, 2), 'default': '0', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '0', 'bitsize': '64', 'maximum': '18446744073709551615', 'outversion': (5, 6, 5), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 6), 'default': '10000', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '0', 'type': 'integer'}], 'description': 'Synchronize relay log to disk after every #th event.', 'name': 'sync_relay_log'},
		{'caption': 'sync_relay_log_info', 'versions': [((6, 0, 11),), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'outversion': (5, 6, 5), 'default': '0', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 6), 'default': '10000', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '0', 'type': 'integer'}, {'outversion': (5, 5, 2), 'default': '0', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '0', 'bitsize': '64', 'maximum': '18446744073709551615', 'outversion': (5, 6, 5), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 6), 'default': '10000', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '0', 'type': 'integer'}], 'description': 'Synchronize relay.info file to disk after every #th event.', 'name': 'sync_relay_log_info'}]),
	( 'Master', [
		{'caption': 'master-connect-retry', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5)), ((5, 5, 3),)], 'values': [{'default': '60', 'type': 'integer'}], 'description': 'Number of seconds the slave thread will sleep before retrying to connect to the master in case the master goes down or the connection is lost', 'name': 'master-connect-retry'},
		{'caption': 'master-host', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5)), ((5, 5, 3),)], 'values': [{'type': 'string'}], 'description': 'Master host name or IP address for replication', 'name': 'master-host'},
		{'caption': 'master-info-file', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'master.info', 'type': 'filename'}], 'description': "The location and name of the file that remembers the master and where the I/O replication thread is in the master's binary logs", 'name': 'master-info-file'},
		{'caption': 'master-password', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5)), ((5, 5, 3),)], 'values': [{'type': 'string'}], 'description': 'The password the slave thread will authenticate with when connecting to master', 'name': 'master-password'},
		{'caption': 'master-port', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5)), ((5, 5, 3),)], 'values': [{'default': '3306', 'type': 'integer'}], 'description': 'The port the master is listening on', 'name': 'master-port'},
		{'caption': 'master-retry-count', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '86400', 'bitsize': '32', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}, {'default': '86400', 'bitsize': '64', 'minimum': '0', 'type': 'integer', 'maximum': '18446744073709551615'}], 'description': 'Number of tries the slave will make to connect to the master before giving up', 'name': 'master-retry-count'},
		{'caption': 'master-ssl', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5)), ((5, 5, 3),)], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Enable the slave to connect to the master using SSL', 'name': 'master-ssl'},
		{'caption': 'master-ssl-ca', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5)), ((5, 5, 3),)], 'values': [{'type': 'filename'}], 'description': 'Master SSL CA file; applies only if master-ssl is enabled', 'name': 'master-ssl-ca'},
		{'caption': 'master-ssl-capath', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5)), ((5, 5, 3),)], 'values': [{'type': 'dirname'}], 'description': 'Master SSL CA path; applies only if master-ssl is enabled', 'name': 'master-ssl-capath'},
		{'caption': 'master-ssl-cert', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5)), ((5, 5, 3),)], 'values': [{'type': 'filename'}], 'description': 'Master SSL certificate file name; applies only if master-ssl is enabled', 'name': 'master-ssl-cert'},
		{'caption': 'master-ssl-cipher', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5)), ((5, 5, 3),)], 'values': [{'type': 'string'}], 'description': 'Master SSL cipher; applies only if master-ssl is enabled', 'name': 'master-ssl-cipher'},
		{'caption': 'master-ssl-key', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5)), ((5, 5, 3),)], 'values': [{'type': 'filename'}], 'description': 'Master SSL key file name; applies only if master-ssl is enabled', 'name': 'master-ssl-key'},
		{'caption': 'master-user', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5)), ((5, 5, 3),)], 'values': [{'default': 'test', 'type': 'string'}], 'description': 'The user name the slave thread will use for authentication when connecting to master. The user must have FILE privilege. If the master user is not set, user test is assumed. The value in master.info will take precedence if it can be read', 'name': 'master-user'},
		{'caption': 'master-verify-checksum', 'versions': [((5, 6, 2),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Cause master to examine checksums when reading from the binary log', 'name': 'master-verify-checksum'},
		{'caption': 'master_info_repository', 'versions': [((5, 6, 2),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'FILE', 'type': 'string', 'choice': ['FILE', 'TABLE']}], 'description': "Whether to write master status information and replication I/O thread location in the master's binary logs to a file or table.", 'name': 'master_info_repository'},
		{'caption': 'sync_master_info', 'versions': [((6, 0, 11),), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'outversion': (5, 6, 5), 'default': '0', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 6), 'default': '10000', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '0', 'type': 'integer'}, {'outversion': (5, 5, 2), 'default': '0', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '0', 'bitsize': '64', 'maximum': '18446744073709551615', 'outversion': (5, 6, 5), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 6), 'default': '10000', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '0', 'type': 'integer'}], 'description': 'Synchronize master.info to disk after every #th event.', 'name': 'sync_master_info'}]),
	( 'Slave', [
		{'caption': 'abort-slave-event-count', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer'}], 'description': 'Option used by mysql-test for debugging and testing of replication', 'name': 'abort-slave-event-count'},
		{'caption': 'disconnect-slave-event-count', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '0', 'type': 'integer'}], 'description': 'Option used by mysql-test for debugging and testing of replication', 'name': 'disconnect-slave-event-count'},
		{'caption': 'rpl_stop_slave_timeout', 'versions': [((5, 6, 13), (5, 7, 2)), ((5, 6), (5, 7)), ()], 'values': [{'default': '31536000', 'inversion': (5, 6, 13), 'minimum': '2', 'type': 'integer', 'maximum': '31536000'}], 'description': 'Set the number of seconds that STOP SLAVE waits before timing out.', 'name': 'rpl_stop_slave_timeout'},
		{'caption': 'show-slave-auth-info', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Show user name and password in SHOW SLAVE HOSTS on this master', 'name': 'show-slave-auth-info'},
		{'caption': 'slave-load-tmpdir', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '/tmp', 'type': 'dirname'}], 'description': 'The location where the slave should put its temporary files when replicating a LOAD DATA INFILE statement', 'name': 'slave-load-tmpdir'},
		{'caption': 'slave-max-allowed-packet', 'versions': [((5, 1, 64), (5, 5, 26), (5, 6, 6)), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '1073741824', 'minimum': '1024', 'type': 'integer', 'maximum': '1073741824'}], 'description': 'Maximum size, in bytes, of a packet that can be sent from a replication master to a slave; overrides max_allowed_packet.', 'name': 'slave-max-allowed-packet'},
		{'caption': 'slave-net-timeout', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '3600', 'minimum': '1', 'type': 'integer'}, {'default': '60', 'inversion': (5, 7, 7), 'minimum': '1', 'type': 'integer'}], 'description': 'Number of seconds to wait for more data from a master/slave connection before aborting the read', 'name': 'slave-net-timeout'},
		{'caption': 'slave-parallel-type', 'versions': [((5, 7, 2),), ((5, 7),), ()], 'values': [{'default': 'DATABASE', 'type': 'enum', 'choice': ['DATABASE', 'LOGICAL_CLOCK']}], 'description': 'Tells the slave to use database partioning (DATABASE) or timestamp information (LOGICAL_CLOCK) from the master to parallelize transactions. The default is DATABASE.', 'name': 'slave-parallel-type'},
		{'caption': 'slave-parallel-workers', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '1024'}], 'description': 'Number of worker threads for executing events in parallel. Set to 0 (the default) to disable slave multi-threading.', 'name': 'slave-parallel-workers'},
		{'caption': 'slave-rows-search-algorithms', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'TABLE_SCAN,INDEX_SCAN', 'type': 'set', 'choice': ['TABLE_SCAN,INDEX_SCAN', 'INDEX_SCAN,HASH_SCAN', 'TABLE_SCAN,HASH_SCAN', 'TABLE_SCAN,INDEX_SCAN,HASH_SCAN']}], 'description': 'Determines search algorithms used for slave update batching. Any 2 or 3 from the list INDEX_SEARCH, TABLE_SCAN, HASH_SCAN; the default is TABLE_SCAN,INDEX_SCAN.', 'name': 'slave-rows-search-algorithms'},
		{'caption': 'slave-skip-errors', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [], 'description': 'Tells the slave thread to continue replication when a query returns an error from the provided list', 'name': 'slave-skip-errors'},
		{'caption': 'slave-sql-verify-checksum', 'versions': [((5, 6, 2),), ((5, 6), (5, 7)), ()], 'values': [{'default': '0', 'on': '1', 'type': 'boolean', 'off': '0', 'choice': ['0', '1']}], 'description': 'Cause slave to examine checksums when reading from the relay log', 'name': 'slave-sql-verify-checksum'},
		{'caption': 'slave_allow_batching', 'versions': [((5, 1, 19),), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Turns update batching on and off for a replication slave', 'name': 'slave_allow_batching'},
		{'caption': 'slave_checkpoint_group', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '512', 'blocksize': '8', 'minimum': '32', 'type': 'integer', 'maximum': '524280'}], 'description': 'Maximum number of transactions processed by a multi-threaded slave before a checkpoint operation is called to update progress status.', 'name': 'slave_checkpoint_group'},
		{'caption': 'slave_checkpoint_period', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '300', 'units': 'millisecond', 'minimum': '1', 'type': 'integer', 'maximum': '4G'}], 'description': 'Update progress status of multi-threaded slave and flush relay log info to disk after this number of milliseconds.', 'name': 'slave_checkpoint_period'},
		{'caption': 'slave_compressed_protocol', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Use compression on master/slave protocol', 'name': 'slave_compressed_protocol'},
		{'caption': 'slave_exec_mode', 'versions': [((5, 1, 23), (6, 0, 5)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'STRICT', 'type': 'enum', 'choice': ['IDEMPOTENT', 'STRICT']}], 'description': 'Allows for switching the slave thread between IDEMPOTENT mode (key and some other errors suppressed) and STRICT mode; STRICT mode is the default, except for MySQL Cluster, where IDEMPOTENT is always used', 'name': 'slave_exec_mode'},
		{'caption': 'slave_transaction_retries', 'versions': [((4, 1, 11), (5, 0, 3)), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '10', 'bitsize': '32', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '10', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '10', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '0', 'type': 'integer'}], 'description': 'Number of times the slave SQL thread will retry a transaction in case it failed with a deadlock or elapsed lock wait timeout, before giving up and stopping', 'name': 'slave_transaction_retries'},
		{'caption': 'slave_type_conversions', 'versions': [((5, 1, 44), (5, 5, 3), (6, 0, 14)), ((5, 1), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '', 'outversion': (5, 6, 12), 'type': 'set', 'choice': ['ALL_LOSSY', 'ALL_NON_LOSSY']}, {'default': '', 'inversion': (5, 6, 13), 'type': 'set', 'outversion': (5, 6, 99), 'choice': ['ALL_LOSSY', 'ALL_NON_LOSSY', 'ALL_SIGNED', 'ALL_UNSIGNED']}, {'default': '', 'inversion': (5, 7, 0), 'type': 'set', 'outversion': (5, 7, 1), 'choice': ['ALL_LOSSY', 'ALL_NON_LOSSY']}, {'default': '', 'inversion': (5, 7, 2), 'type': 'set', 'choice': ['ALL_LOSSY', 'ALL_NON_LOSSY', 'ALL_SIGNED', 'ALL_UNSIGNED']}], 'description': 'Controls type conversion mode on replication slave. Value is a list of zero or more elements from the list: ALL_LOSSY, ALL_NON_LOSSY. Set to an empty string to disallow type conversions between master and slave.', 'name': 'slave_type_conversions'}]),
	( 'General', [
		{'caption': 'disable_gtid_unsafe_statements', 'versions': [((5, 6, 5),), ((5, 6),), ((5, 6, 9),)], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Obsolete: Replaced by enforce_gtid_consistency in MySQL 5.6.9.', 'name': 'disable_gtid_unsafe_statements'},
		{'caption': 'enforce_gtid_consistency', 'versions': [((5, 6, 9),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'false', 'on': 'true', 'outversion': (5, 7, 5), 'off': 'false', 'type': 'boolean'}, {'default': 'OFF', 'inversion': (5, 7, 6), 'type': 'enum', 'choice': ['OFF', 'ON', 'WARN']}], 'description': 'Prevents execution of statements that cannot be logged in a transactionally safe manner', 'name': 'enforce_gtid_consistency'},
		{'caption': 'executed-gtids-compression-period', 'versions': [((5, 7, 5),), ((5, 7),), ()], 'values': [{'default': '1000', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Deprecated and will be removed in a future version. Use the renamed gtid-executed-compression-period instead.', 'name': 'executed-gtids-compression-period'},
		{'caption': 'gtid-mode', 'versions': [((5, 6, 5),), ((5, 6), (5, 7)), ()], 'values': [{'default': 'OFF', 'outversion': (5, 7, 5), 'type': 'enum', 'choice': ['OFF', 'UPGRADE_STEP_1', 'UPGRADE_STEP_2', 'ON']}, {'default': 'OFF', 'inversion': (5, 7, 6), 'type': 'enum', 'choice': ['OFF', 'OFF_PERMISSIVE', 'ON_PERMISSIVE', 'ON']}], 'description': 'Controls whether GTID based logging is enabled and what type of transactions the logs can contain', 'name': 'gtid-mode'},
		{'caption': 'init-rpl-role', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Set the replication role (not used)', 'name': 'init-rpl-role'},
		{'caption': 'replicate-do-db', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Tells the slave SQL thread to restrict replication to the specified database', 'name': 'replicate-do-db'},
		{'caption': 'replicate-do-table', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Tells the slave SQL thread to restrict replication to the specified table', 'name': 'replicate-do-table'},
		{'caption': 'replicate-ignore-db', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Tells the slave SQL thread not to replicate to the specified database', 'name': 'replicate-ignore-db'},
		{'caption': 'replicate-ignore-table', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Tells the slave SQL thread not to replicate to the specified table', 'name': 'replicate-ignore-table'},
		{'caption': 'replicate-rewrite-db', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Updates to a database with a different name than the original', 'name': 'replicate-rewrite-db'},
		{'caption': 'replicate-same-server-id', 'versions': [((5, 0, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'In replication, if set to 1, do not skip events having our server id', 'name': 'replicate-same-server-id'},
		{'caption': 'replicate-wild-do-table', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Tells the slave thread to restrict replication to the tables that match the specified wildcard pattern', 'name': 'replicate-wild-do-table'},
		{'caption': 'replicate-wild-ignore-table', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Tells the slave thread not to replicate to the tables that match the given wildcard pattern', 'name': 'replicate-wild-ignore-table'},
		{'caption': 'report-host', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Host name or IP of the slave to be reported to the master during slave registration', 'name': 'report-host'},
		{'caption': 'report-password', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'An arbitrary password that the slave server should report to the master. Not the same as the password for the MySQL replication user account', 'name': 'report-password'},
		{'caption': 'report-port', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '3306', 'outversion': (5, 5, 22), 'minimum': '0', 'type': 'integer', 'maximum': '65535'}, {'inversion': (5, 5, 23), 'default': '0', 'maximum': '65535', 'outversion': (5, 6, 4), 'minimum': '0', 'type': 'integer'}, {'default': '[slave_port]', 'inversion': (5, 6, 5), 'minimum': '0', 'type': 'integer', 'maximum': '65535'}], 'description': 'Port for connecting to slave reported to the master during slave registration', 'name': 'report-port'},
		{'caption': 'report-user', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'type': 'string'}], 'description': 'An arbitrary user name that a slave server should report to the master. Not the same as the name used with the MySQL replication user account.', 'name': 'report-user'},
		{'caption': 'skip-slave-start', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'If set, slave is not autostarted', 'name': 'skip-slave-start'}])]),
( 'MyISAM', [
	( 'Advanced Settings', [
		{'caption': 'myisam-block-size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1024', 'minimum': '1024', 'type': 'integer', 'maximum': '16384'}], 'description': 'Block size to be used for MyISAM index pages', 'name': 'myisam-block-size'},
		{'caption': 'myisam-recover', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (6, 0)), ((5, 5, 3), (6, 0, 14))], 'values': [{'default': 'OFF', 'type': 'enum', 'choice': ['OFF', 'DEFAULT', 'BACKUP', 'FORCE', 'QUICK']}], 'description': 'Set the mode for automatic MyISAM recovery', 'name': 'myisam-recover'},
		{'caption': 'myisam-recover-options', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'OFF', 'type': 'enum', 'choice': ['OFF', 'DEFAULT', 'BACKUP', 'FORCE', 'QUICK']}], 'description': 'Set the mode for automatic MyISAM recovery', 'name': 'myisam-recover-options'},
		{'caption': 'myisam_data_pointer_size', 'versions': [((4, 1, 2),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '4', 'outversion': (5, 0, 5), 'minimum': '2', 'type': 'integer', 'maximum': '8'}, {'default': '6', 'inversion': (5, 0, 6), 'minimum': '2', 'type': 'integer', 'maximum': '7'}], 'description': 'Default pointer size to be used for MyISAM tables', 'name': 'myisam_data_pointer_size'},
		{'optype': {'outversion': '5.0.6'}, 'description': 'Deprecated option', 'versions': [(), ((4, 1), (5, 0)), ()], 'caption': 'myisam_max_extra_sort_file_size', 'values': [{'default': '2147483648', 'outversion': (5, 0, 6), 'type': 'integer'}], 'name': 'myisam_max_extra_sort_file_size'},
		{'caption': 'myisam_max_sort_file_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '2147483648', 'bitsize': '32', 'type': 'integer'}, {'default': '9223372036854775807', 'bitsize': '64', 'type': 'integer'}], 'description': "Don't use the fast sort index method to create index if the temporary file would get bigger than this", 'name': 'myisam_max_sort_file_size'},
		{'caption': 'myisam_mmap_size', 'versions': [((5, 0, 90), (5, 1, 43), (5, 5, 1), (6, 0, 14)), ((5, 0), (5, 1), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '4294967295', 'bitsize': '32', 'minimum': '7', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '18446744073709547520', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '7', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '18446744073709551615', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '7', 'type': 'integer'}], 'description': 'The maximum amount of memory to use for memory mapping compressed MyISAM files.', 'name': 'myisam_mmap_size'},
		{'caption': 'myisam_repair_threads', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1', 'bitsize': '32', 'minimum': '1', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '1', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '1', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '1', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '1', 'type': 'integer'}], 'description': 'Number of threads to use when repairing MyISAM tables. The value of 1 disables parallel repair', 'name': 'myisam_repair_threads'},
		{'caption': 'myisam_sort_buffer_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '8388608', 'bitsize': '32', 'maximum': '4294967295', 'platform': 'other', 'minimum': '4096', 'type': 'integer'}, {'outversion': (5, 5, 2), 'default': '8388608', 'bitsize': '64', 'maximum': '18446744073709547520', 'platform': 'other', 'minimum': '4096', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '8388608', 'bitsize': '64', 'maximum': '18446744073709551615', 'platform': 'other', 'minimum': '4096', 'type': 'integer'}, {'default': '8388608', 'platform': 'windows', 'minimum': '4096', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'The buffer allocated when sorting the index for a REPAIR TABLE or when creating indexes for CREATE INDEX or ALTER TABLE', 'name': 'myisam_sort_buffer_size'},
		{'caption': 'myisam_stats_method', 'versions': [((4, 1, 15), (5, 0, 14)), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'nulls_unequal', 'inversion': (4, 1, 15), 'type': 'enum', 'outversion': (4, 1, 99)}, {'default': 'nulls_unequal', 'inversion': (5, 0, 14), 'type': 'enum', 'choice': ['nulls_equal', 'nulls_unequal', 'nulls_ignored']}], 'description': 'Specifies how MyISAM index statistics collection code should treat NULLs', 'name': 'myisam_stats_method'},
		{'caption': 'myisam_use_mmap', 'versions': [((5, 1, 4),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Use memory mapping for reading and writing MyISAM tables', 'name': 'myisam_use_mmap'}]),
	( 'Fulltext search', [
		{'caption': 'ft_boolean_syntax', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '+ -><()~*:""&|', 'type': 'string'}], 'description': 'List of operators for MATCH ... AGAINST ( ... IN BOOLEAN MODE)', 'name': 'ft_boolean_syntax'},
		{'caption': 'ft_max_word_len', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'minimum': '10', 'type': 'integer'}], 'description': 'The maximum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable', 'name': 'ft_max_word_len'},
		{'caption': 'ft_min_word_len', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '4', 'minimum': '1', 'type': 'integer'}], 'description': 'The minimum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable', 'name': 'ft_min_word_len'},
		{'caption': 'ft_query_expansion_limit', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '20', 'minimum': '0', 'type': 'integer', 'maximum': '1000'}], 'description': 'Number of best matches to use for query expansion', 'name': 'ft_query_expansion_limit'},
		{'caption': 'ft_stopword_file', 'versions': [((4, 1, 10),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '{configdir}/mysql_ft_stopword_file.txt', 'type': 'fileedit'}], 'description': 'Use stopwords from this file instead of built-in list', 'name': 'ft_stopword_file'}]),
	( 'General', [
		{'description': 'Use concurrent insert with MyISAM', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'disabledby': 'skip-concurrent-insert', 'caption': 'concurrent_insert', 'values': [{'default': 'true', 'on': 'true', 'outversion': (5, 0, 5), 'off': 'false', 'type': 'boolean'}, {'default': '1', 'inversion': (5, 0, 6), 'type': 'integer', 'outversion': (5, 5, 2), 'choice': ['0', '1', '2']}, {'default': 'AUTO', 'inversion': (5, 5, 3), 'type': 'enum', 'choice': ['NEVER', 'AUTO', 'ALWAYS', '0', '1', '2']}, {'default': '1', 'inversion': (6, 0, 0), 'type': 'integer', 'outversion': (6, 0, 14), 'choice': ['0', '1', '2']}, {'default': 'AUTO', 'inversion': (6, 0, 14), 'type': 'enum', 'choice': ['NEVER', 'AUTO', 'ALWAYS', '0', '1', '2']}], 'name': 'concurrent_insert'},
		{'caption': 'keep_files_on_create', 'versions': [((5, 0, 48), (5, 1, 21)), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Do not overwrite existing .MYD/.MYI files in default database directory', 'name': 'keep_files_on_create'},
		{'caption': 'key_buffer_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '8388608', 'outversion': (5, 1, 22), 'minimum': '8', 'type': 'integer', 'maximum': '4294967295'}, {'inversion': (5, 1, 23), 'default': '8388608', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '8', 'type': 'integer'}, {'inversion': (5, 1, 23), 'default': '8388608', 'bitsize': '64', 'maximum': 'OS_PER_PROCESS_LIMIT', 'minimum': '8', 'type': 'integer'}], 'description': 'Size of buffer used for index blocks for MyISAM tables', 'name': 'key_buffer_size'},
		{'caption': 'key_cache_age_threshold', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '300', 'bitsize': '32', 'minimum': '100', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '300', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '100', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '300', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '100', 'type': 'integer'}], 'description': 'This characterizes the number of hits a hot block has to be untouched until it is considered aged enough to be downgraded to a warm block. This specifies the percentage ratio of that number of hits to the total number of blocks in key cache', 'name': 'key_cache_age_threshold'}])]),
( 'Performance', [
	( 'Query cache', [
		{'caption': 'query_cache_limit', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1048576', 'bitsize': '32', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '1048576', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '1048576', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '0', 'type': 'integer'}], 'description': "Don't cache results that are bigger than this", 'name': 'query_cache_limit'},
		{'caption': 'query_cache_min_res_unit', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '4096', 'bitsize': '32', 'minimum': '512', 'type': 'integer', 'maximum': '4294967295'}, {'outversion': (5, 5, 2), 'default': '4096', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '512', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '4096', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '512', 'type': 'integer'}], 'description': 'Minimal size of unit in which space for results is allocated (last unit will be trimmed after writing all result data)', 'name': 'query_cache_min_res_unit'},
		{'caption': 'query_cache_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'outversion': (5, 6, 7), 'default': '0', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 8), 'default': '1048576', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '0', 'type': 'integer'}, {'outversion': (5, 5, 2), 'default': '0', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 5, 3), 'default': '0', 'bitsize': '64', 'maximum': '18446744073709551615', 'outversion': (5, 6, 7), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 8), 'default': '1048576', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '0', 'type': 'integer'}], 'description': 'The memory allocated to store results from old queries', 'name': 'query_cache_size'},
		{'caption': 'query_cache_type', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1', 'outversion': (5, 6, 7), 'type': 'enum', 'choice': ['0', '1', '2']}, {'default': '0', 'inversion': (5, 6, 8), 'type': 'enum', 'choice': ['0', '1', '2']}], 'description': 'Query cache type', 'name': 'query_cache_type'},
		{'caption': 'query_cache_wlock_invalidate', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Invalidate queries in query cache on LOCK for write', 'name': 'query_cache_wlock_invalidate'}]),
	( 'Optimizer', [
		{'caption': 'engine-condition-pushdown', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (6, 0)), ((5, 6, 1),)], 'values': [{'on': 'on', 'inversion': (5, 0, 3), 'off': 'off', 'default': 'off', 'outversion': (5, 0, 99), 'type': 'boolean'}, {'default': 'on', 'on': 'on', 'inversion': (5, 1, 0), 'off': 'off', 'type': 'boolean'}], 'description': 'Push supported query conditions to the storage engine', 'name': 'engine-condition-pushdown'},
		{'caption': 'optimizer_join_cache_level', 'versions': [((5, 6, 1), (6, 0, 14)), ((5, 6), (6, 0)), ((5, 6, 3),)], 'values': [{'default': '4', 'minimum': '0', 'type': 'integer', 'maximum': '4'}, {'default': '1', 'inversion': (6, 0, 14), 'minimum': '0', 'type': 'integer', 'maximum': '8'}], 'description': 'How join buffers are used', 'name': 'optimizer_join_cache_level'},
		{'caption': 'optimizer_prune_level', 'versions': [((5, 0, 1),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1', 'on': '1', 'off': '0', 'type': 'boolean'}], 'description': 'Controls the heuristic(s) applied during query optimization to prune less-promising partial plans from the optimizer search space', 'name': 'optimizer_prune_level'},
		{'caption': 'optimizer_search_depth', 'versions': [((5, 0, 1),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '62', 'outversion': (5, 5, 99), 'minimum': '0', 'type': 'integer', 'maximum': '63'}, {'default': '62', 'inversion': (5, 6, 0), 'minimum': '0', 'type': 'integer', 'maximum': '62'}, {'inversion': (6, 0, 0), 'default': '62', 'maximum': '63', 'outversion': (6, 0, 13), 'minimum': '0', 'type': 'integer'}, {'default': '62', 'inversion': (6, 0, 14), 'minimum': '0', 'type': 'integer', 'maximum': '62'}], 'description': 'Maximum depth of search performed by the query optimizer', 'name': 'optimizer_search_depth'},
		{'optype': {'outversion': '5.1.99'}, 'description': 'Enable control over which optimizations to use', 'versions': [((5, 1, 34), (5, 2, 4), (5, 4, 2)), ((5, 1), (5, 2), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'caption': 'optimizer_switch', 'values': [{'outversion': (5, 2, 3), 'type': 'set', 'choice': ['index_merge={on|off}', 'index_merge_intersection={on|off}', 'index_merge_sort_union={on|off}', 'index_merge_union={on|off}']}, {'default': "''", 'inversion': (5, 2, 4), 'type': 'set', 'outversion': (5, 4, 1), 'choice': ['no_semijoin', 'no_materialization']}, {'inversion': (5, 4, 2), 'type': 'set', 'outversion': (5, 5, 2), 'choice': ['index_merge={on|off}', 'index_merge_intersection={on|off}', 'index_merge_sort_union={on|off}', 'index_merge_union={on|off}']}, {'inversion': (5, 5, 3), 'type': 'set', 'outversion': (5, 6, 0), 'choice': ['engine_condition_pushdown={on|off}', 'index_merge={on|off}', 'index_merge_intersection={on|off}', 'index_merge_sort_union={on|off}', 'index_merge_union={on|off}']}, {'inversion': (5, 6, 1), 'type': 'set', 'outversion': (5, 6, 2), 'choice': ['engine_condition_pushdown={on|off}', 'index_condition_pushdown={on|off}', 'index_merge={on|off}', 'index_merge_intersection={on|off}', 'index_merge_sort_union={on|off}', 'index_merge_union={on|off}', 'mrr={on|off}', 'mrr_cost_based={on|off}']}, {'inversion': (5, 6, 3), 'type': 'set', 'outversion': (5, 6, 4), 'choice': ['batched_key_access={on|off}', 'block_nested_loop={on|off}', 'engine_condition_pushdown={on|off}', 'index_condition_pushdown={on|off}', 'index_merge={on|off}', 'index_merge_intersection={on|off}', 'index_merge_sort_union={on|off}', 'index_merge_union={on|off}', 'mrr={on|off}', 'mrr_cost_based={on|off}']}, {'inversion': (5, 6, 5), 'type': 'set', 'outversion': (5, 6, 6), 'choice': ['batched_key_access={on|off}', 'block_nested_loop={on|off}', 'engine_condition_pushdown={on|off}', 'firstmatch={on|off}', 'index_condition_pushdown={on|off}', 'index_merge={on|off}', 'index_merge_intersection={on|off}', 'index_merge_sort_union={on|off}', 'index_merge_union={on|off}', 'loosescan={on|off}', 'materialization={on|off}', 'mrr={on|off}', 'mrr_cost_based={on|off}', 'semijoin={on|off}']}, {'inversion': (5, 6, 7), 'type': 'set', 'outversion': (5, 6, 8), 'choice': ['batched_key_access={on|off}', 'block_nested_loop={on|off}', 'engine_condition_pushdown={on|off}', 'firstmatch={on|off}', 'index_condition_pushdown={on|off}', 'index_merge={on|off}', 'index_merge_intersection={on|off}', 'index_merge_sort_union={on|off}', 'index_merge_union={on|off}', 'loosescan={on|off}', 'materialization={on|off}', 'mrr={on|off}', 'mrr_cost_based={on|off}', 'semijoin={on|off}', 'subquery_materialization_cost_based={on|off}']}, {'inversion': (5, 6, 9), 'type': 'set', 'outversion': (5, 7, 4), 'choice': ['batched_key_access={on|off}', 'block_nested_loop={on|off}', 'engine_condition_pushdown={on|off}', 'firstmatch={on|off}', 'index_condition_pushdown={on|off}', 'index_merge={on|off}', 'index_merge_intersection={on|off}', 'index_merge_sort_union={on|off}', 'index_merge_union={on|off}', 'loosescan={on|off}', 'materialization={on|off}', 'mrr={on|off}', 'mrr_cost_based={on|off}', 'semijoin={on|off}', 'subquery_materialization_cost_based={on|off}', 'use_index_extensions={on|off}']}, {'inversion': (5, 7, 5), 'type': 'set', 'outversion': (5, 7, 5), 'choice': ['batched_key_access={on|off}', 'block_nested_loop={on|off}', 'condition_fanout_filter={on|off}', 'engine_condition_pushdown={on|off}', 'firstmatch={on|off}', 'index_condition_pushdown={on|off}', 'index_merge={on|off}', 'index_merge_intersection={on|off}', 'index_merge_sort_union={on|off}', 'index_merge_union={on|off}', 'loosescan={on|off}', 'materialization={on|off}', 'mrr={on|off}', 'mrr_cost_based={on|off}', 'semijoin={on|off}', 'subquery_materialization_cost_based={on|off}', 'use_index_extensions={on|off}']}, {'inversion': (5, 7, 6), 'type': 'set', 'choice': ['batched_key_access={on|off}', 'block_nested_loop={on|off}', 'condition_fanout_filter={on|off}', 'derived_merge={on|off}', 'engine_condition_pushdown={on|off}', 'firstmatch={on|off}', 'index_condition_pushdown={on|off}', 'index_merge={on|off}', 'index_merge_intersection={on|off}', 'index_merge_sort_union={on|off}', 'index_merge_union={on|off}', 'loosescan={on|off}', 'materialization={on|off}', 'mrr={on|off}', 'mrr_cost_based={on|off}', 'semijoin={on|off}', 'subquery_materialization_cost_based={on|off}', 'use_index_extensions={on|off}']}, {'default': "''", 'inversion': (6, 0, 0), 'type': 'set', 'outversion': (6, 0, 10), 'choice': ['no_firstmatch', 'no_loosescan', 'no_materialization', 'no_semijoin']}, {'inversion': (6, 0, 11), 'type': 'set', 'outversion': (6, 0, 13), 'choice': ['firstmatch={on|off}', 'index_merge={on|off}', 'index_merge_intersection={on|off}', 'index_merge_sort_union={on|off}', 'index_merge_union={on|off}', 'loosescan={on|off}', 'materialization={on|off}', 'semijoin={on|off}']}, {'inversion': (6, 0, 14), 'type': 'set', 'choice': ['engine_condition_pushdown={on|off}', 'firstmatch={on|off}', 'index_condition_pushdown={on|off}', 'index_merge={on|off}', 'index_merge_intersection={on|off}', 'index_merge_sort_union={on|off}', 'index_merge_union={on|off}', 'loosescan={on|off}', 'materialization={on|off}', 'mrr={on|off}', 'mrr_cost_based={on|off}', 'semijoin={on|off}']}], 'name': 'optimizer_switch'}]),
	( 'Performance Schema', [
		{'caption': 'performance-schema-consumer-events-stages-current', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [], 'description': 'Configure events-stages-current consumer', 'name': 'performance-schema-consumer-events-stages-current'},
		{'caption': 'performance-schema-consumer-events-stages-history', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [], 'description': 'Configure events-stages-history consumer', 'name': 'performance-schema-consumer-events-stages-history'},
		{'caption': 'performance-schema-consumer-events-stages-history-long', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [], 'description': 'Configure events-stages-history-long consumer', 'name': 'performance-schema-consumer-events-stages-history-long'},
		{'caption': 'performance-schema-consumer-events-statements-current', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [], 'description': 'Configure events-statements-current consumer', 'name': 'performance-schema-consumer-events-statements-current'},
		{'caption': 'performance-schema-consumer-events-statements-history', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [], 'description': 'Configure events-statements-history consumer', 'name': 'performance-schema-consumer-events-statements-history'},
		{'caption': 'performance-schema-consumer-events-statements-history-long', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [], 'description': 'Configure events-statements-history-long consumer', 'name': 'performance-schema-consumer-events-statements-history-long'},
		{'caption': 'performance-schema-consumer-events-transactions-current', 'versions': [((5, 7, 3),), ((5, 7),), ()], 'values': [], 'description': 'Configure events-transactions-current consumer', 'name': 'performance-schema-consumer-events-transactions-current'},
		{'caption': 'performance-schema-consumer-events-transactions-history', 'versions': [((5, 7, 3),), ((5, 7),), ()], 'values': [], 'description': 'Configure events-transactions-history consumer', 'name': 'performance-schema-consumer-events-transactions-history'},
		{'caption': 'performance-schema-consumer-events-transactions-history-long', 'versions': [((5, 7, 3),), ((5, 7),), ()], 'values': [], 'description': 'Configure events-transactions-history-long consumer', 'name': 'performance-schema-consumer-events-transactions-history-long'},
		{'caption': 'performance-schema-consumer-events-waits-current', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [], 'description': 'Configure events-waits-current consumer', 'name': 'performance-schema-consumer-events-waits-current'},
		{'caption': 'performance-schema-consumer-events-waits-history', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [], 'description': 'Configure events-waits-history consumer', 'name': 'performance-schema-consumer-events-waits-history'},
		{'caption': 'performance-schema-consumer-events-waits-history-long', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [], 'description': 'Configure events-waits-history-long consumer', 'name': 'performance-schema-consumer-events-waits-history-long'},
		{'caption': 'performance-schema-consumer-global-instrumentation', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [], 'description': 'Configure global-instrumentation consumer', 'name': 'performance-schema-consumer-global-instrumentation'},
		{'caption': 'performance-schema-consumer-statements-digest', 'versions': [((5, 6, 5),), ((5, 6), (5, 7)), ()], 'values': [], 'description': 'Configure statements-digest consumer', 'name': 'performance-schema-consumer-statements-digest'},
		{'caption': 'performance-schema-consumer-thread-instrumentation', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [], 'description': 'Configure thread-instrumentation consumer', 'name': 'performance-schema-consumer-thread-instrumentation'},
		{'caption': 'performance-schema-instrument', 'versions': [((5, 6, 4),), ((5, 6), (5, 7)), ()], 'values': [{'type': 'string'}], 'description': 'Configure Performance Schema instrument', 'name': 'performance-schema-instrument'},
		{'caption': 'performance_schema', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'outversion': (5, 6, 5), 'off': 'off', 'type': 'boolean'}, {'default': 'on', 'on': 'on', 'inversion': (5, 6, 6), 'off': 'off', 'type': 'boolean'}], 'description': 'Whether Performance Schema is enabled', 'name': 'performance_schema'},
		{'caption': 'performance_schema_accounts_size', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '10', 'outversion': (5, 6, 5), 'minimum': '0', 'type': 'integer', 'maximum': '1048576'}, {'inversion': (5, 6, 6), 'default': '-1 (autosized)', 'maximum': '1048576', 'outversion': (5, 7, 5), 'minimum': '-1 (autosized)', 'type': 'integer'}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), 'minimum': '-1 (autoscaled)', 'type': 'integer', 'maximum': '1048576'}], 'description': 'Number of rows in the accounts table', 'name': 'performance_schema_accounts_size'},
		{'caption': 'performance_schema_digests_size', 'versions': [((5, 6, 5),), ((5, 6), (5, 7)), ()], 'values': [{'default': '-1 (autosized)', 'minimum': '-1', 'type': 'integer', 'maximum': '1048576'}], 'description': 'Number of rows in the events_statements_summary_by_digest table', 'name': 'performance_schema_digests_size'},
		{'caption': 'performance_schema_events_stages_history_long_size', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '10000', 'outversion': (5, 6, 5), 'type': 'integer'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 6), 'type': 'integer'}], 'description': 'Number of rows in the events_stages_history_long table', 'name': 'performance_schema_events_stages_history_long_size'},
		{'caption': 'performance_schema_events_stages_history_size', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '10', 'outversion': (5, 6, 5), 'type': 'integer'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 6), 'type': 'integer'}], 'description': 'Number of rows per thread in the events_stages_history table', 'name': 'performance_schema_events_stages_history_size'},
		{'caption': 'performance_schema_events_statements_history_long_size', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '10000', 'outversion': (5, 6, 5), 'type': 'integer'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 6), 'type': 'integer'}], 'description': 'Number of rows in the events_statements_history_long table', 'name': 'performance_schema_events_statements_history_long_size'},
		{'caption': 'performance_schema_events_statements_history_size', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '10', 'outversion': (5, 6, 5), 'type': 'integer'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 6), 'type': 'integer'}], 'description': 'Number of rows per thread in the events_statements_history table', 'name': 'performance_schema_events_statements_history_size'},
		{'caption': 'performance_schema_events_transactions_history_long_size', 'versions': [((5, 7, 3),), ((5, 7),), ()], 'values': [{'default': '-1 (autosized)', 'type': 'integer'}], 'description': 'Number of rows in the events_transactions_history_long table', 'name': 'performance_schema_events_transactions_history_long_size'},
		{'caption': 'performance_schema_events_transactions_history_size', 'versions': [((5, 7, 3),), ((5, 7),), ()], 'values': [{'default': '-1 (autosized)', 'type': 'integer'}], 'description': 'Number of rows per thread in the events_transactions_history table', 'name': 'performance_schema_events_transactions_history_size'},
		{'caption': 'performance_schema_events_waits_history_long_size', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '10000', 'outversion': (5, 6, 5), 'type': 'integer'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 6), 'type': 'integer'}], 'description': 'Number of rows in the events_waits_history_long table', 'name': 'performance_schema_events_waits_history_long_size'},
		{'caption': 'performance_schema_events_waits_history_size', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '10', 'outversion': (5, 6, 5), 'type': 'integer'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 6), 'type': 'integer'}], 'description': 'Number of rows per thread in the events_waits_history table', 'name': 'performance_schema_events_waits_history_size'},
		{'caption': 'performance_schema_hosts_size', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '10', 'outversion': (5, 6, 5), 'minimum': '0', 'type': 'integer', 'maximum': '1048576'}, {'inversion': (5, 6, 6), 'default': '-1 (autosized)', 'maximum': '1048576', 'outversion': (5, 7, 5), 'minimum': '-1 (autosized)', 'type': 'integer'}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), 'minimum': '-1 (autoscaled)', 'type': 'integer', 'maximum': '1048576'}], 'description': 'Number of rows in the hosts table', 'name': 'performance_schema_hosts_size'},
		{'caption': 'performance_schema_max_cond_classes', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '80', 'type': 'integer'}], 'description': 'The maximum number of condition instruments', 'name': 'performance_schema_max_cond_classes'},
		{'caption': 'performance_schema_max_cond_instances', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1000', 'outversion': (5, 6, 5), 'type': 'integer'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 6), 'type': 'integer', 'outversion': (5, 7, 5)}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), 'type': 'integer'}], 'description': 'The maximum number of instrumented condition objects', 'name': 'performance_schema_max_cond_instances'},
		{'caption': 'performance_schema_max_file_classes', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '50', 'type': 'integer'}], 'description': 'The maximum number of file instruments', 'name': 'performance_schema_max_file_classes'},
		{'caption': 'performance_schema_max_file_handles', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '32768', 'type': 'integer'}], 'description': 'The maximum number of opened file objects', 'name': 'performance_schema_max_file_handles'},
		{'caption': 'performance_schema_max_file_instances', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '10000', 'outversion': (5, 6, 5), 'type': 'integer'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 6), 'type': 'integer', 'outversion': (5, 7, 5)}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), 'type': 'integer'}], 'description': 'The maximum number of instrumented file objects', 'name': 'performance_schema_max_file_instances'},
		{'caption': 'performance_schema_max_index_stat', 'versions': [((5, 7, 6),), ((5, 7),), ()], 'values': [{'default': '-1 (autosized)', 'type': 'integer'}], 'description': 'Maximum number of indexes to keep statistics for', 'name': 'performance_schema_max_index_stat'},
		{'caption': 'performance_schema_max_memory_classes', 'versions': [((5, 7, 2),), ((5, 7),), ()], 'values': [{'default': '250', 'outversion': (5, 7, 4), 'type': 'integer'}, {'default': '320', 'inversion': (5, 7, 5), 'type': 'integer'}], 'description': 'The maximum number of memory instruments', 'name': 'performance_schema_max_memory_classes'},
		{'caption': 'performance_schema_max_metadata_locks', 'versions': [((5, 7, 3),), ((5, 7),), ()], 'values': [{'default': '-1 (autosized)', 'outversion': (5, 7, 5), 'type': 'integer'}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), 'type': 'integer'}], 'description': 'The maximum number of metadata locks to track', 'name': 'performance_schema_max_metadata_locks'},
		{'caption': 'performance_schema_max_mutex_classes', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '200', 'type': 'integer'}], 'description': 'The maximum number of mutex instruments', 'name': 'performance_schema_max_mutex_classes'},
		{'caption': 'performance_schema_max_mutex_instances', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1000', 'outversion': (5, 6, 5), 'type': 'integer'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 6), 'type': 'integer', 'outversion': (5, 7, 5)}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), 'type': 'integer'}], 'description': 'The maximum number of instrumented mutex objects', 'name': 'performance_schema_max_mutex_instances'},
		{'caption': 'performance_schema_max_prepared_statements_instances', 'versions': [((5, 7, 4),), ((5, 7),), ()], 'values': [{'default': '-1 (autosized)', 'outversion': (5, 7, 5), 'type': 'integer'}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), 'type': 'integer'}], 'description': 'Number of rows in the prepared_statements_instances table', 'name': 'performance_schema_max_prepared_statements_instances'},
		{'caption': 'performance_schema_max_program_instances', 'versions': [((5, 7, 2),), ((5, 7),), ()], 'values': [{'default': '5000', 'outversion': (5, 7, 5), 'type': 'integer'}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), 'type': 'integer'}], 'description': 'The maximum number of stored programs for statistics', 'name': 'performance_schema_max_program_instances'},
		{'caption': 'performance_schema_max_rwlock_classes', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '20', 'outversion': (5, 5, 6), 'type': 'integer'}, {'default': '30', 'inversion': (5, 5, 7), 'type': 'integer', 'outversion': (5, 5, 99)}, {'default': '20', 'inversion': (5, 6, 0), 'type': 'integer', 'outversion': (5, 6, 0)}, {'default': '30', 'inversion': (5, 6, 1), 'type': 'integer', 'outversion': (5, 6, 14)}, {'default': '40', 'inversion': (5, 6, 15), 'type': 'integer', 'outversion': (5, 6, 99)}, {'default': '30', 'inversion': (5, 7, 0), 'type': 'integer', 'outversion': (5, 7, 2)}, {'default': '40', 'inversion': (5, 7, 3), 'type': 'integer'}, {'default': '20', 'inversion': (6, 0, 0), 'type': 'integer'}], 'description': 'The maximum number of rwlock instruments', 'name': 'performance_schema_max_rwlock_classes'},
		{'caption': 'performance_schema_max_rwlock_instances', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1000', 'outversion': (5, 6, 5), 'type': 'integer'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 6), 'type': 'integer', 'outversion': (5, 7, 5)}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), 'type': 'integer'}], 'description': 'The maximum number of instrumented rwlock objects', 'name': 'performance_schema_max_rwlock_instances'},
		{'caption': 'performance_schema_max_socket_classes', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '10', 'type': 'integer'}], 'description': 'The maximum number of socket instruments', 'name': 'performance_schema_max_socket_classes'},
		{'caption': 'performance_schema_max_socket_instances', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '1000', 'outversion': (5, 6, 5), 'type': 'integer'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 6), 'type': 'integer', 'outversion': (5, 7, 5)}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), 'type': 'integer'}], 'description': 'The maximum number of instrumented socket objects', 'name': 'performance_schema_max_socket_instances'},
		{'caption': 'performance_schema_max_sql_text_length', 'versions': [((5, 7, 6),), ((5, 7),), ()], 'values': [{'default': '1024', 'minimum': '0', 'type': 'integer', 'maximum': '1048576'}], 'description': 'The maximum number of bytes stored from SQL statements', 'name': 'performance_schema_max_sql_text_length'},
		{'caption': 'performance_schema_max_stage_classes', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '150', 'type': 'integer'}], 'description': 'The maximum number of stage instruments', 'name': 'performance_schema_max_stage_classes'},
		{'caption': 'performance_schema_max_statement_classes', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '-1 (autosized)', 'type': 'integer'}], 'description': 'The maximum number of statement instruments', 'name': 'performance_schema_max_statement_classes'},
		{'caption': 'performance_schema_max_statement_stack', 'versions': [((5, 7, 2),), ((5, 7),), ()], 'values': [{'default': '10', 'type': 'integer'}], 'description': 'The maximum stored program nesting for statistics', 'name': 'performance_schema_max_statement_stack'},
		{'caption': 'performance_schema_max_table_handles', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '100000', 'outversion': (5, 6, 5), 'type': 'integer'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 6), 'type': 'integer', 'outversion': (5, 7, 5)}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), 'type': 'integer'}], 'description': 'The maximum number of opened table objects', 'name': 'performance_schema_max_table_handles'},
		{'caption': 'performance_schema_max_table_instances', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '50000', 'outversion': (5, 6, 5), 'type': 'integer'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 6), 'type': 'integer', 'outversion': (5, 7, 5)}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), 'type': 'integer'}], 'description': 'The maximum number of instrumented table objects', 'name': 'performance_schema_max_table_instances'},
		{'caption': 'performance_schema_max_table_lock_stat', 'versions': [((5, 7, 6),), ((5, 7),), ()], 'values': [{'default': '-1 (autosized)', 'type': 'integer'}], 'description': 'Maximum number of tables to keep lock statistics for', 'name': 'performance_schema_max_table_lock_stat'},
		{'caption': 'performance_schema_max_thread_classes', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '50', 'type': 'integer'}], 'description': 'The maximum number of thread instruments', 'name': 'performance_schema_max_thread_classes'},
		{'caption': 'performance_schema_max_thread_instances', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': '1000', 'outversion': (5, 6, 5), 'type': 'integer'}, {'default': '-1 (autosized)', 'inversion': (5, 6, 6), 'type': 'integer', 'outversion': (5, 7, 5)}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), 'type': 'integer'}], 'description': 'The maximum number of instrumented thread objects', 'name': 'performance_schema_max_thread_instances'},
		{'caption': 'performance_schema_session_connect_attrs_size', 'versions': [((5, 6, 6),), ((5, 6), (5, 7)), ()], 'values': [{'default': '-1 (autosized)', 'minimum': '-1', 'type': 'integer', 'maximum': '1048576'}], 'description': 'Size of the connection attribute strings buffer per thread', 'name': 'performance_schema_session_connect_attrs_size'},
		{'caption': 'performance_schema_setup_actors_size', 'versions': [((5, 6, 1),), ((5, 6), (5, 7)), ()], 'values': [{'default': '100', 'type': 'integer'}], 'description': 'Number of rows in the setup_actors table', 'name': 'performance_schema_setup_actors_size'},
		{'caption': 'performance_schema_setup_objects_size', 'versions': [((5, 6, 1),), ((5, 6), (5, 7)), ()], 'values': [{'default': '100', 'type': 'integer'}], 'description': 'Number of rows in the setup_objects table', 'name': 'performance_schema_setup_objects_size'},
		{'caption': 'performance_schema_users_size', 'versions': [((5, 6, 3),), ((5, 6), (5, 7)), ()], 'values': [{'default': '10', 'outversion': (5, 6, 5), 'minimum': '0', 'type': 'integer', 'maximum': '1048576'}, {'inversion': (5, 6, 6), 'default': '-1 (autosized)', 'maximum': '1048576', 'outversion': (5, 7, 5), 'minimum': '-1 (autosized)', 'type': 'integer'}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), 'minimum': '-1 (autoscaled)', 'type': 'integer', 'maximum': '1048576'}], 'description': 'Number of rows in the users table', 'name': 'performance_schema_users_size'}]),
	( 'General', [
		{'caption': 'delay-key-write', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'ON', 'type': 'enum', 'choice': ['ON', 'OFF', 'ALL']}], 'description': 'Type of DELAY_KEY_WRITE', 'name': 'delay-key-write'},
		{'caption': 'low-priority-updates', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'INSERT/DELETE/UPDATE has lower priority than selects', 'name': 'low-priority-updates'},
])]),
]
