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), (8, 0)), ()], 'values': [{'default': 'OFF', 'outversion': (8, 0, 2), 'type': 'enum', 'choice': ['ON', 'OFF', 'DISABLED']}, {'default': 'ON', 'inversion': (8, 0, 3), '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), (8, 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), (8, 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), (8, 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), (8, 0)), ()], '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), (8, 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)), ((8, 0, 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), (8, 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), (8, 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', 'outversion': (6, 0, 99), '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', 'outversion': (6, 0, 99), '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), (8, 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), (8, 0)), ()], 'values': [{'outversion': (5, 7, 8), '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), 'minimum': '1024', 'blocksize': '1024', 'default': '8192', 'bitsize': '64', 'type': 'integer', 'maximum': '18446744073709551615', 'outversion': (5, 7, 8)}, {'inversion': (5, 7, 9), 'default': '8192', 'blocksize': '1024', 'maximum': '4294967295', 'minimum': '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), (8, 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), (8, 0)), ()], 'values': [{'default': '0', 'outversion': (8, 0, 2), 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}, {'default': '1', 'inversion': (8, 0, 3), 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Uniquely identifies the server instance in the community of replication partners. Required when binary logging is enabled.', 'name': 'server-id'}]),
	( 'Directories', [
		{'caption': 'basedir', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'outversion': (8, 0, 1), 'type': 'dirname'}, {'default': 'parent of mysqld installation directory', 'inversion': (8, 0, 2), '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), (8, 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), (8, 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), (8, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'Path for temporary files', 'name': 'tmpdir'}]),
	( 'System', [
		{'caption': 'avoid_temporal_upgrade', 'versions': [((5, 6, 24), (5, 7, 6)), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether ALTER TABLE should upgrade pre-5.6.4 temporal columns', 'name': 'avoid_temporal_upgrade'},
		{'caption': 'core-file', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Write core file on server crashes', 'name': 'core-file'},
		{'caption': 'disable-partition-engine-check', 'versions': [((5, 7, 17),), ((5, 7),), ()], 'values': [{'on': 'true', 'inversion': (5, 7, 17), 'off': 'false', 'default': 'false', 'outversion': (5, 7, 20), 'type': 'boolean'}, {'default': 'true', 'on': 'true', 'inversion': (5, 7, 21), 'off': 'false', 'type': 'boolean'}], 'description': 'Whether to disable the startup check for tables with nonnative partitioning', 'name': 'disable-partition-engine-check'},
		{'caption': 'disabled_storage_engines', 'versions': [((5, 7, 8),), ((5, 7), (8, 0)), ()], 'values': [{'default': '', 'type': 'string'}], 'description': 'Storage engines that cannot be used to create tables', 'name': 'disabled_storage_engines'},
		{'caption': 'external-locking', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 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)), ((8, 0, 0),)], '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), (8, 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': 'mandatory_roles', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'values': [{'default': '', 'type': 'string'}], 'description': 'Automatically granted roles for all users', 'name': 'mandatory_roles'},
		{'caption': 'no-monitor', 'versions': [((8, 0, 12),), ((8, 0),), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Do not fork monitor process required for RESTART', 'name': 'no-monitor'},
		{'optype': {'format': 'offline_mode=val'}, 'description': 'Whether server is offline', 'versions': [((5, 7, 5),), ((5, 7), (8, 0)), ()], 'caption': 'offline_mode', 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'offline_mode'},
		{'description': 'Enable (or disable) partitioning support', 'versions': [(), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0)), ((8, 0, 0),)], 'disabledby': 'skip-partition', 'caption': 'partition', 'values': [{'default': 'on', 'on': 'on', 'off': 'disabledby', 'type': 'boolean'}], 'name': 'partition'},
		{'caption': 'persisted_globals_load', 'versions': [((8, 0, 0),), ((8, 0),), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to load persisted configuration settings', 'name': 'persisted_globals_load'},
		{'caption': 'pid-file', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'Process ID file used by mysqld_safe', 'name': 'pid-file'},
		{'caption': 'server_id_bits', 'versions': [((5, 1, 47), (5, 1, 47)), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': '32', 'minimum': '7', 'type': 'integer', 'maximum': '32'}], 'description': 'The effective value of server_id if the server was started with the --server-id-bits option set to a nondefault value', 'name': 'server_id_bits'},
		{'caption': 'shared_memory', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Whether the server allows shared-memory connections', 'name': 'shared_memory'},
		{'caption': 'shared_memory_base_name', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'default': 'MYSQL', 'type': 'string'}], 'description': 'The name of shared memory to use for shared-memory connections', 'name': 'shared_memory_base_name'},
		{'caption': 'skip-host-cache', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Do not 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': 'Do not 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), (8, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Do not 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': 'Do not allow symlinking of tables; obsolete, 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), (8, 0)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Skip system (external) locking', 'name': 'skip_external_locking'},
		{'caption': 'super_read_only', 'versions': [((5, 7, 8),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to ignore SUPER exceptions to read-only mode', 'name': 'super_read_only'},
		{'description': 'Permit symbolic links for MyISAM tables', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 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': 'tablespace_definition_cache', 'versions': [(), ((8, 0),), ()], 'values': [{'default': '256', 'minimum': '256', 'type': 'integer', 'maximum': '524288'}], 'description': 'Defines the number of tablespace definition objects that can be kept in the dictionary object cache', 'name': 'tablespace_definition_cache'},
		{'caption': 'table_cache', 'versions': [(), ((4, 1), (5, 0), (5, 1)), ((5, 1, 3),)], 'values': [{'default': '64', 'minimum': '1', 'type': 'integer', 'maximum': '524288'}], 'description': 'Number of open tables for all threads', 'name': 'table_cache'},
		{'caption': 'table_lock_wait_timeout', 'versions': [((5, 0, 10),), ((5, 0), (5, 1), (5, 4), (5, 5), (6, 0)), ((5, 5, 3), (6, 0, 14))], 'values': [{'default': '50', 'minimum': '1', 'type': 'integer', 'maximum': '1073741824'}], 'description': 'Currently unused', 'name': 'table_lock_wait_timeout'},
		{'caption': 'tc-heuristic-recover', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'default': 'COMMIT', 'type': 'enum', 'choice': ['COMMIT', 'ROLLBACK']}], 'description': 'Decision to use in heuristic recover process. Possible values are COMMIT or ROLLBACK', 'name': 'tc-heuristic-recover'},
		{'caption': 'temp-pool', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ((8, 0, 1),)], 'values': [{'default': 'true', 'on': 'true', 'type': 'boolean', 'off': 'false', 'platform': 'linux'}, {'default': 'false', 'on': 'true', 'type': 'boolean', 'off': 'false', 'platform': 'other'}], 'description': 'Using this option will cause most temporary files created to use a small set of names, rather than a unique name for each new file', 'name': 'temp-pool'},
		{'caption': 'temptable_max_ram', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'values': [{'default': '1073741824', 'minimum': '2097152', 'type': 'integer', 'maximum': '2^64-1'}], 'description': 'Defines the maximum amount of memory that can occupied by the TempTable storage engine before data is stored on disk', 'name': 'temptable_max_ram'},
		{'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), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Run mysqld daemon as user', 'name': 'user'},
		{'caption': 'version_tokens_session', 'versions': [((5, 7, 8),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'NULL', 'type': 'string'}], 'description': 'Client token list for Version Tokens', 'name': 'version_tokens_session'},
		{'caption': 'version_tokens_session_number', 'versions': [((5, 7, 8),), ((5, 7), (8, 0)), ()], 'values': [{'default': '0', 'type': 'integer'}], 'description': 'For internal use', 'name': 'version_tokens_session_number'},
		{'optype': {'format': 'windowing_use_high_precision=#'}, 'description': 'Whether to compute window functions to high precision', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'caption': 'windowing_use_high_precision', 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'windowing_use_high_precision'}]),
	( 'General', [
		{'caption': 'big-tables', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 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', 'outversion': (6, 0, 99)}], '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), (8, 0)), ()], '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), (8, 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), (8, 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'},
		{'caption': 'no-dd-upgrade', 'versions': [((8, 0, 4),), ((8, 0),), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Prevents the automatic upgrade of data dictionary table definitions at startup', 'name': 'no-dd-upgrade'},
		{'caption': 'old', 'versions': [((5, 1, 18),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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': 'show_compatibility_56', 'versions': [((5, 7, 6),), ((5, 7), (8, 0)), ((8, 0, 1),)], 'values': [{'default': 'on', 'on': 'on', 'outversion': (5, 7, 7), 'off': 'off', 'type': 'boolean'}, {'default': 'off', 'on': 'on', 'inversion': (5, 7, 8), 'off': 'off', 'type': 'boolean'}], 'description': 'Compatibility for SHOW STATUS/VARIABLES', 'name': 'show_compatibility_56'},
		{'caption': 'show_create_table_verbosity', 'versions': [((5, 7, 22), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [], 'description': 'Whether to display ROW_FORMAT in SHOW CREATE TABLE even if it has the default value', 'name': 'show_create_table_verbosity'},
		{'caption': 'show_old_temporals', 'versions': [((5, 6, 24), (5, 7, 6)), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether SHOW CREATE TABLE should indicate pre-5.6.4 temporal columns', 'name': 'show_old_temporals'},
		{'caption': 'stored_program_cache', 'versions': [((5, 5, 21), (5, 6, 5)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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': 'stored_program_definition_cache', 'versions': [(), ((8, 0),), ()], 'values': [{'default': '256', 'minimum': '256', 'type': 'integer', 'maximum': '524288'}], 'description': 'Defines the number of stored program and event definition objects that can be kept in the dictionary object cache', 'name': 'stored_program_definition_cache'},
		{'caption': 'super-large-pages', 'versions': [((5, 5, 3),), ((5, 4), (5, 5), (5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'type': 'boolean', 'off': 'false', 'platform': 'solaris'}], 'description': 'Enable support for super large pages', 'name': 'super-large-pages'},
		{'caption': 'verbose', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Used with --help option for detailed help', 'name': 'verbose'}]),
	( 'Firewall', [
		{'caption': 'mysql_firewall_max_query_size', 'versions': [((5, 6, 24),), ((5, 6),), ((5, 6, 26),)], '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, 7, 9), (8, 0, 11)), ((5, 6), (5, 7), (8, 0)), ()], '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, 7, 9), (8, 0, 11)), ((5, 6), (5, 7), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Use ANSI SQL syntax instead of MySQL syntax', 'name': 'ansi'},
		{'caption': 'cte_max_recursion_depth', 'versions': [((8, 0, 3),), ((8, 0),), ()], 'values': [{'default': '1000', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Common table expression maximum recursion depth', 'name': 'cte_max_recursion_depth'},
		{'caption': 'explicit_defaults_for_timestamp', 'versions': [((5, 6, 6),), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'outversion': (8, 0, 1), 'off': 'off', 'type': 'boolean'}, {'default': 'on', 'on': 'on', 'inversion': (8, 0, 2), 'off': 'off', 'type': 'boolean'}], 'description': 'Whether TIMESTAMP columns are nullable and have DEFAULT NULL', 'name': 'explicit_defaults_for_timestamp'},
		{'caption': 'parser_max_mem_size', 'versions': [((5, 7, 12),), ((5, 7), (8, 0)), ()], 'values': [{'default': '4294967295', 'bitsize': '32', 'minimum': '10000000', 'type': 'integer', 'maximum': '4294967295'}, {'default': '18446744073709551615', 'bitsize': '64', 'minimum': '10000000', 'type': 'integer', 'maximum': '18446744073709551615'}], 'description': 'Maximum amount of memory available to parser', 'name': 'parser_max_mem_size'},
		{'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), (8, 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 STRICT_TRANS_TABLES NO_ENGINE_SUBSTITUTION', '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 STRICT_TRANS_TABLES NO_AUTO_CREATE_USER NO_ENGINE_SUBSTITUTION', 'inversion': (5, 7, 7), 'type': 'set', 'outversion': (5, 7, 7), '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 STRICT_TRANS_TABLES NO_ZERO_IN_DATE NO_ZERO_DATE ERROR_FOR_DIVISION_BY_ZERO NO_AUTO_CREATE_USER NO_ENGINE_SUBSTITUTION', 'inversion': (5, 7, 8), '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']}, {'default': 'ONLY_FULL_GROUP_BY STRICT_TRANS_TABLES NO_ZERO_IN_DATE NO_ZERO_DATE ERROR_FOR_DIVISION_BY_ZERO NO_AUTO_CREATE_USER NO_ENGINE_SUBSTITUTION', 'inversion': (8, 0, 1), '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', 'TIME_TRUNCATE_FRACTIONAL']}], '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), (8, 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), (8, 0)), ()], 'values': [{'default': 'latin1', 'outversion': (8, 0, 0), 'type': 'string'}, {'default': 'utf8mb4', 'inversion': (8, 0, 1), '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), (8, 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), (8, 0)), ()], 'values': [{'default': 'latin1_swedish_ci', 'outversion': (8, 0, 0), 'type': 'string'}, {'default': 'utf8mb4_0900_ai_ci', 'inversion': (8, 0, 1), '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, 3),), ((4, 1), (5, 0), (5, 1), (5, 5)), ((5, 5, 3),)], 'values': [{'type': 'string'}], 'description': 'Specify default collation', 'name': 'default-collation'},
		{'caption': 'default_collation_for_utf8mb4', 'versions': [((8, 0, 11),), ((8, 0),), ()], 'values': [{'type': 'enum', 'choice': ['utf8mb4_0900_ai_ci', 'utf8mb4_general_ci']}], 'description': 'Default collation for utf8mb4 character set', 'name': 'default_collation_for_utf8mb4'},
		{'caption': 'default-time-zone', 'versions': [((4, 1, 3),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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_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': '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'}])], 260),
( 'Logging', [
	( 'Audit', [
		{'optype': {'format': 'audit-log[=value]'}, 'description': 'Whether to activate the audit log plugin', 'versions': [((5, 5, 28), (5, 6, 10), (5, 7, 9), (8, 0, 11)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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, 7, 9), (8, 0, 11)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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'},
		{'caption': 'audit_log_compression', 'versions': [((5, 7, 21), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'NONE', 'type': 'enum', 'choice': ['NONE', 'GZIP']}], 'description': 'Audit log file compression method', 'name': 'audit_log_compression'},
		{'optype': {'format': 'audit_log_connection_policy=value'}, 'description': 'Audit logging policy for connection-related events', 'versions': [((5, 6, 20), (5, 7, 9), (8, 0, 11)), ((5, 6), (5, 7), (8, 0)), ()], 'caption': 'audit_log_connection_policy', 'values': [{'default': 'ALL', 'type': 'enum', 'choice': ['ALL', 'ERRORS', 'NONE']}], 'name': 'audit_log_connection_policy'},
		{'caption': 'audit_log_encryption', 'versions': [((5, 7, 21), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'NONE', 'type': 'enum', 'choice': ['NONE', 'AES']}], 'description': 'Audit log file encryption method', 'name': 'audit_log_encryption'},
		{'optype': {'format': 'audit_log_exclude_accounts=value'}, 'description': 'Accounts not to audit', 'versions': [((5, 6, 20), (5, 7, 9), (8, 0, 11)), ((5, 6), (5, 7), (8, 0)), ()], '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, 7, 9), (8, 0, 11)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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, 7, 9), (8, 0, 11)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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, 9), 'type': 'enum', 'outversion': (5, 7, 20), 'choice': ['OLD', 'NEW']}, {'default': 'NEW', 'inversion': (5, 7, 21), 'type': 'enum', 'choice': ['OLD', 'NEW', 'JSON']}], 'name': 'audit_log_format'},
		{'optype': {'format': 'audit_log_include_accounts=value'}, 'description': 'Accounts to audit', 'versions': [((5, 6, 20), (5, 7, 9), (8, 0, 11)), ((5, 6), (5, 7), (8, 0)), ()], '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, 7, 9), (8, 0, 11)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], 'caption': 'audit_log_policy', 'values': [{'default': 'ALL', 'type': 'enum', 'choice': ['ALL', 'LOGINS', 'QUERIES', 'NONE']}], 'name': 'audit_log_policy'},
		{'caption': 'audit_log_read_buffer_size', 'versions': [((5, 7, 21), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': '1048576', 'bitsize': '32', 'minimum': '524288', 'type': 'integer', 'maximum': '4294967295'}, {'default': '1048576', 'bitsize': '64', 'minimum': '524288', 'type': 'integer', 'maximum': '18446744073709547520'}], 'description': 'Audit log file read buffer size', 'name': 'audit_log_read_buffer_size'},
		{'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, 7, 9), (8, 0, 11)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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, 7, 9), (8, 0, 11)), ((5, 6), (5, 7), (8, 0)), ()], '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, 7, 9), (8, 0, 11)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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 replica 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), (8, 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', 'outversion': (6, 0, 99)}], '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), (8, 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': 'dragnet.log_error_filter_rules', 'versions': [((8, 0, 4),), ((8, 0),), ()], 'values': [{'default': 'IF prio>=INFORMATION THEN drop. IF EXISTS source_line THEN unset source_line.', 'type': 'string'}], 'description': 'Filter rules for error logging', 'name': 'dragnet.log_error_filter_rules'},
		{'caption': 'expire_logs_days', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'default': '0', 'outversion': (8, 0, 1), 'minimum': '0', 'type': 'integer', 'maximum': '99'}, {'default': '30', 'outversion': (8, 0, 4), 'minimum': '0', 'type': 'integer', 'maximum': '99'}, {'default': '0', 'inversion': (8, 0, 11), 'minimum': '0', 'type': 'integer', 'maximum': '99'}], 'description': 'Purge binary logs after this many days', '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), (8, 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), (8, 0)), ()], 'values': [{'default': '24576', 'bitsize': '32', 'outversion': (5, 7, 20), 'type': 'integer', 'maximum': '4294967295'}, {'inversion': (5, 7, 21), 'default': '6 * page size', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '6 * page size', 'type': 'integer'}, {'default': '24576', 'bitsize': '64', 'outversion': (5, 5, 2), 'type': 'integer', 'maximum': '18446744073709547520'}, {'inversion': (5, 5, 3), 'default': '24576', 'bitsize': '64', 'maximum': '18446744073709551615', 'outversion': (5, 7, 20), 'type': 'integer'}, {'inversion': (5, 7, 21), 'default': '6 * page size', 'bitsize': '64', 'maximum': '18446744073709551615', 'minimum': '6 * page size', 'type': 'integer'}], '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), (8, 0)), ((8, 0, 3),)], '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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Do not log extra information to slow-query log', 'name': 'log-short-format'},
		{'caption': 'log_backward_compatible_user_definitions', 'versions': [((5, 7, 6),), ((5, 7),), ((5, 7, 9),)], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to log CREATE/ALTER USER, GRANT in backward-compatible fashion', 'name': 'log_backward_compatible_user_definitions'},
		{'caption': 'log_builtin_as_identified_by_password', 'versions': [((5, 7, 9),), ((5, 7), (8, 0)), ((8, 0, 11),)], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to log CREATE/ALTER USER, GRANT in backward-compatible fashion', 'name': 'log_builtin_as_identified_by_password'},
		{'caption': 'log_error_filter_rules', 'versions': [((8, 0, 2),), ((8, 0),), ((8, 0, 4),)], 'values': [{'default': 'set by server', 'type': 'string'}], 'description': 'Filter rules for error logging', 'name': 'log_error_filter_rules'},
		{'caption': 'log_error_services', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'values': [{'default': 'log_filter_internal; log_sink_internal', 'type': 'string'}], 'description': 'Components to use for error logging', 'name': 'log_error_services'},
		{'optype': {'format': 'log_error_verbosity=#'}, 'description': 'Error logging verbosity level', 'versions': [((5, 7, 2),), ((5, 7), (8, 0)), ()], 'caption': 'log_error_verbosity', 'values': [{'default': '3', 'outversion': (8, 0, 3), 'minimum': '1', 'type': 'integer', 'maximum': '3'}, {'default': '2', 'inversion': (8, 0, 4), '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), (8, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'outversion': (8, 0, 2), 'off': 'false', 'type': 'boolean'}, {'default': 'true', 'on': 'true', 'inversion': (8, 0, 3), 'off': 'false', 'type': 'boolean'}], 'description': 'Whether the replica 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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], 'caption': 'log_syslog_tag', 'values': [{'default': '', 'type': 'string'}], 'name': 'log_syslog_tag'},
		{'optype': {'format': 'log_timestamps=#'}, 'description': 'Log timestamp format', 'versions': [((5, 7, 2),), ((5, 7), (8, 0)), ()], '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), (8, 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), (8, 0)), ()], '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), (8, 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), (8, 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), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Tells the source 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), (8, 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_cache_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 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), (8, 0)), ()], 'values': [{'default': 'IGNORE_ERROR', 'outversion': (5, 7, 6), '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_expire_logs_seconds', 'versions': [((8, 0, 1),), ((8, 0),), ()], 'values': [{'default': '0', 'outversion': (8, 0, 4), 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}, {'default': '2592000', 'inversion': (8, 0, 11), 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Purge binary logs after this many seconds', 'name': 'binlog_expire_logs_seconds'},
		{'caption': 'binlog_group_commit_sync_delay', 'versions': [((5, 7, 5),), ((5, 7), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'outversion': (5, 7, 6), '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), (8, 0)), ()], 'values': [{'default': 'full', 'type': 'enum', 'choice': ['full', 'minimal', 'noblob']}], 'description': 'Use full or minimal images when logging row changes', 'name': 'binlog_row_image'},
		{'caption': 'binlog_row_metadata', 'versions': [((8, 0, 1),), ((8, 0),), ()], 'values': [{'default': 'MINIMAL', 'type': 'enum', 'choice': ['FULL', 'MINIMAL']}], 'description': 'Configures the amount of table related metadata binary logged when using row-based logging.', 'name': 'binlog_row_metadata'},
		{'caption': 'binlog_row_value_options', 'versions': [((8, 0, 3),), ((8, 0),), ()], 'values': [{'default': "''", 'type': 'set', 'choice': ['PARTIAL_JSON']}], 'description': 'Enables binary logging of partial JSON updates for row-based replication.', 'name': 'binlog_row_value_options'},
		{'caption': 'binlog_rows_query_log_events', 'versions': [((5, 6, 2),), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'When TRUE, enables logging of rows query log events in row-based logging mode. FALSE by default. Do not enable when producing logs for pre-5.6 replicas or other readers.', 'name': 'binlog_rows_query_log_events'},
		{'caption': 'binlog_stmt_cache_size', 'versions': [((5, 5, 9), (5, 6, 1)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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': 'binlog_transaction_dependency_tracking', 'versions': [((5, 7, 22), (8, 0, 1)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'COMMIT_ORDER', 'type': 'enum', 'choice': ['COMMIT_ORDER', 'WRITESET', 'WRITESET_SESSION']}], 'description': "Source of dependency information (commit timestamps or transaction write sets) from which to assess which transactions can be executed in parallel by replica's multi-threaded applier.", 'name': 'binlog_transaction_dependency_tracking'},
		{'caption': 'binlog_transaction_dependency_history_size', 'versions': [((5, 7, 22), (8, 0, 1)), ((5, 7), (8, 0)), ()], 'values': [{'default': '25000', 'minimum': '1', 'type': 'integer', 'maximum': '1000000'}], 'description': 'Number of row hashes kept for looking up transaction that last updated some row.', 'name': 'binlog_transaction_dependency_history_size'},
		{'caption': 'binlogging_impossible_mode', 'versions': [((5, 6, 20), (5, 7, 5)), ((5, 6), (5, 7)), ((5, 7, 6),)], '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), (8, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'Specifies the base name for binary log files', 'name': 'log-bin'},
		{'caption': 'log-bin-index', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'Specifies the name for the binary log index file', '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), (8, 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, 1, 56), (5, 5, 15), (5, 6, 6)), ((5, 1), (5, 5), (5, 6), (5, 7), (8, 0)), ()], '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), (8, 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), (8, 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'}, {'inversion': (6, 0, 0), 'default': '4294967295', 'maximum': '4294967295', 'outversion': (6, 0, 99), 'minimum': '4096', 'type': 'integer'}], '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), (8, 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), (8, 0)), ()], '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': 'simplified_binlog_gtid_recovery', 'versions': [((5, 7, 5), (5, 6, 21)), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Controls how binary logs are iterated during GTID recovery', 'name': 'simplified_binlog_gtid_recovery'},
		{'caption': 'sporadic-binlog-dump-fail', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 0)), ()], 'values': [{'default': '0', 'outversion': (5, 7, 6), 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}, {'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'}])], 300),
( 'InnoDB', [
	( 'Datafiles', [
		{'caption': 'innodb_data_file_path', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 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)), ((8, 0, 0),)], '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)), ((8, 0, 0),)], '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)), ((8, 0, 0),)], 'values': [{'default': 'Antelope', 'outversion': (5, 7, 8), 'type': 'string', 'choice': ['Antelope', 'Barracuda']}, {'default': 'Barracuda', 'inversion': (5, 7, 9), '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_chunk_size', 'versions': [((5, 7, 5),), ((5, 7), (8, 0)), ()], 'values': [{'default': '134217728', 'minimum': '1048576', 'type': 'integer', 'maximum': 'innodb_buffer_pool_size / innodb_buffer_pool_instances'}], 'description': 'Defines the chunk size that is used when resizing the buffer pool', 'name': 'innodb_buffer_pool_chunk_size'},
		{'caption': 'innodb_buffer_pool_debug', 'versions': [((8, 0, 0),), ((8, 0),), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Permits multiple buffer pool instances when the buffer pool is less than 1GB in size', 'name': 'innodb_buffer_pool_debug'},
		{'caption': 'innodb_buffer_pool_dump_at_shutdown', 'versions': [((5, 6, 3),), ((5, 6), (5, 7), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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 (or 1 if innodb_buffer_pool_size < 1GB', '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 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', 'outversion': (6, 0, 99)}], 'description': 'Size of the memory buffer InnoDB uses to cache data and indexes of its tables', 'name': 'innodb_buffer_pool_size'}]),
	( 'Logfiles', [
		{'caption': 'innodb_ddl_log_crash_reset_debug', 'versions': [((8, 0, 3),), ((8, 0),), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'A debug option that resets DDL log crash injection counters', 'name': 'innodb_ddl_log_crash_reset_debug'},
		{'caption': 'innodb_flush_log_at_trx_commit', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 0)), ()], 'values': [{'inversion': (5, 0, 0), 'default': 'NULL', 'outversion': (5, 7, 99), 'choice': ['async_unbuffered', 'normal', 'unbuffered'], 'platform': 'windows', 'type': 'string'}, {'inversion': (5, 0, 0), 'default': 'NULL', 'outversion': (5, 1, 23), 'choice': ['fdatasync', 'O_DSYNC', 'littlesync', 'nosync', 'O_DIRECT'], 'platform': 'unix', 'type': 'string'}, {'inversion': (5, 1, 24), 'default': 'NULL', 'outversion': (5, 6, 6), 'choice': ['fsync', 'littlesync', 'nosync', 'O_DSYNC', 'O_DIRECT'], 'platform': 'unix', 'type': 'string'}, {'inversion': (5, 6, 7), 'default': 'NULL', 'outversion': (5, 7, 99), 'choice': ['fsync', 'O_DSYNC', 'littlesync', 'nosync', 'O_DIRECT', 'O_DIRECT_NO_FSYNC'], 'platform': 'unix', 'type': 'string'}, {'default': 'unbuffered', 'platform': 'windows', 'inversion': (8, 0, 0), 'type': 'string', 'choice': ['unbuffered', 'normal']}, {'default': 'fsync', 'platform': 'unix', 'inversion': (8, 0, 0), 'type': 'string', 'choice': ['fsync', 'O_DSYNC', 'littlesync', 'nosync', '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), (8, 0)), ()], 'values': [{'default': '1', 'outversion': (8, 0, 2), 'type': 'enum', 'choice': ['0', '1', '2']}, {'default': '0', 'inversion': (8, 0, 3), 'type': 'enum', 'choice': ['0', '1', '2']}], 'description': 'Specifies whether or not flushing a page from the InnoDB buffer pool also flushes other dirty pages in the same extent', 'name': 'innodb_flush_neighbors'},
		{'caption': 'innodb_flush_sync', 'versions': [((5, 7, 8),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enable innodb_flush_sync to ignore the innodb_io_capacity setting for bursts of I/O activity that occur at checkpoints. Disable innodb_flush_sync to adhere to the limit on I/O activity defined by the innodb_io_capacity setting.', 'name': 'innodb_flush_sync'},
		{'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), (8, 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'}, {'inversion': (6, 0, 0), 'default': '1048576', 'maximum': '4294967295', 'outversion': (6, 0, 99), 'minimum': '1048576', 'type': 'integer'}, {'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_checksum_algorithm', 'versions': [((5, 7, 8),), ((5, 7),), ((5, 7, 9),)], 'values': [{'default': 'innodb', 'inversion': (5, 7, 8), 'type': 'enum', 'choice': ['innodb', 'crc32', 'none', 'strict_innodb', 'strict_crc32', 'strict_none']}], 'description': 'Specifies how to generate and verify the checksum stored in each redo log disk block', 'name': 'innodb_log_checksum_algorithm'},
		{'caption': 'innodb_log_checksums', 'versions': [((5, 7, 9),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enables or disables checksums for redo log pages', 'name': 'innodb_log_checksums'},
		{'caption': 'innodb_log_compressed_pages', 'versions': [((5, 6, 11),), ((5, 6), (5, 7), (8, 0)), ()], '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), (8, 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'}, {'inversion': (5, 6, 8), 'default': '50331648', 'maximum': '512GB / innodb_log_files_in_group', 'outversion': (5, 7, 10), 'minimum': '1048576', 'type': 'integer'}, {'default': '50331648', 'inversion': (5, 7, 11), 'minimum': '4194304', 'type': 'integer', 'maximum': '512GB / innodb_log_files_in_group'}, {'inversion': (6, 0, 0), 'default': '5242880', 'maximum': '4294967295', 'outversion': (6, 0, 99), 'minimum': '1048576', 'type': 'integer'}], '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), (8, 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), (8, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'Path to InnoDB log files', 'name': 'innodb_log_group_home_dir'},
		{'caption': 'innodb_log_spin_cpu_abs_lwm', 'versions': [((8, 0, 11),), ((8, 0),), ()], 'values': [{'default': '80', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Minimum amount of CPU usage below which user threads no longer spin while waiting for flushed redo', 'name': 'innodb_log_spin_cpu_abs_lwm'},
		{'caption': 'innodb_log_spin_cpu_pct_hwm', 'versions': [((8, 0, 11),), ((8, 0),), ()], 'values': [{'default': '50', 'minimum': '0', 'type': 'integer', 'maximum': '100'}], 'description': 'Maximum amount of CPU usage above which user threads no longer spin while waiting for flushed redo', 'name': 'innodb_log_spin_cpu_pct_hwm'},
		{'caption': 'innodb_log_wait_for_flush_spin_hwm', 'versions': [((8, 0, 11),), ((8, 0),), ()], 'values': [{'default': '400', 'bitsize': '32', 'minimum': '0', 'type': 'integer', 'maximum': '2**32-1'}, {'default': '400', 'bitsize': '64', 'minimum': '0', 'type': 'integer', 'maximum': '2**64-1'}], 'description': 'The maximum average log flush time beyond which user threads no longer spin while waiting for flushed redo', 'name': 'innodb_log_wait_for_flush_spin_hwm'},
		{'caption': 'innodb_log_write_ahead_size', 'versions': [((5, 7, 4),), ((5, 7), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'default': '.', 'outversion': (5, 7, 7), 'type': 'dirname'}, {'inversion': (5, 7, 8), '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_log_encrypt', 'versions': [((8, 0, 1),), ((8, 0),), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Controls encryption of undo log data for encrypted tablepaces', 'name': 'innodb_undo_log_encrypt'},
		{'caption': 'innodb_undo_log_truncate', 'versions': [((5, 7, 5),), ((5, 7), (8, 0)), ()], 'values': [{'on': 'on', 'inversion': (5, 7, 5), 'off': 'off', 'default': 'off', 'outversion': (8, 0, 1), 'type': 'boolean'}, {'default': 'on', 'on': 'on', 'inversion': (8, 0, 2), 'off': 'off', 'type': 'boolean'}], 'description': 'Enable this option to mark the InnoDB undo tablespace for truncation', 'name': 'innodb_undo_log_truncate'},
		{'caption': 'innodb_undo_logs', 'versions': [((5, 6, 3),), ((5, 6), (5, 7), (8, 0)), ((8, 0, 2),)], 'values': [{'default': '128', 'minimum': '1', 'type': 'integer', 'maximum': '128'}], 'description': 'Defines the number of undo logs (rollback segments) used by InnoDB; an alias for innodb_rollback_segments', '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), (8, 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'}, {'inversion': (6, 0, 0), 'default': '1048576', 'maximum': '4294967295', 'outversion': (6, 0, 99), 'minimum': '524288', 'type': 'integer'}], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'inversion': (5, 6, 4), 'default': '84', 'maximum': '252', 'outversion': (5, 6, 13), 'minimum': '10', 'type': 'integer'}, {'default': '84', 'inversion': (5, 6, 14), 'minimum': '10', 'type': 'integer', 'maximum': '84'}, {'inversion': (5, 7, 0), 'default': '84', 'maximum': '252', 'outversion': (5, 7, 2), 'minimum': '10', 'type': 'integer'}, {'default': '84', 'inversion': (5, 7, 3), 'minimum': '10', 'type': 'integer', 'maximum': '84'}], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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'},
		{'caption': 'mecab_rc_file', 'versions': [((5, 7, 6),), ((5, 7), (8, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'Path to the mecabrc configuration file for the MeCab parser for full-text search', 'name': 'mecab_rc_file'},
		{'caption': 'ngram_token_size', 'versions': [((5, 7, 6),), ((5, 7), (8, 0)), ()], 'values': [{'default': '2', 'minimum': '1', 'type': 'integer', 'maximum': '10'}], 'description': 'Defines the n-gram token size for the full-text search ngram parser', 'name': 'ngram_token_size'}]),
	( 'General', [
		{'caption': 'ignore-builtin-innodb', 'versions': [((5, 1, 33),), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (8, 0)), ((8, 0, 3),)], '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), (8, 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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 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_hash_index_parts', 'versions': [((5, 7, 8),), ((5, 7), (8, 0)), ()], 'values': [{'default': '8', 'minimum': '1', 'type': 'numeric', 'maximum': '512'}], 'description': 'Partitions the adaptive hash index search system into n partitions, with each partition protected by a separate latch. Each index is bound to a specific partition based on space ID and index ID attributes.', 'name': 'innodb_adaptive_hash_index_parts'},
		{'caption': 'innodb_adaptive_max_sleep_delay', 'versions': [((5, 6, 3),), ((5, 6), (5, 7), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 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), (8, 0)), ()], 'values': [{'default': '1', 'outversion': (8, 0, 2), 'type': 'integer', 'choice': ['0', '1', '2']}, {'default': '2', 'inversion': (8, 0, 3), 'type': 'integer', 'choice': ['0', '1', '2']}], 'description': 'Set InnoDB auto-increment lock mode', 'name': 'innodb_autoinc_lock_mode'},
		{'caption': 'innodb_background_drop_list_empty', 'versions': [((5, 7, 10),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'This debug option delays table creation until the background drop list is empty', 'name': 'innodb_background_drop_list_empty'},
		{'caption': 'innodb_buffer_pool_dump_pct', 'versions': [((5, 7, 2),), ((5, 7), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'default': 'inserts', 'outversion': (5, 5, 3), 'type': 'enum', 'choice': ['inserts', 'none']}, {'default': 'all', 'inversion': (5, 5, 4), 'type': 'enum', 'choice': ['none', 'inserts', 'deletes', 'changes', 'purges', 'all']}], 'description': 'Whether InnoDB performs insert buffering', 'name': 'innodb_change_buffering'},
		{'caption': 'innodb_change_buffering_debug', 'versions': [((5, 1, 53),), ((5, 1), (5, 5), (5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '0', 'type': 'integer', 'maximum': '2'}], 'description': 'Sets a debug flag for InnoDB change buffering', 'name': 'innodb_change_buffering_debug'},
		{'caption': 'innodb_checkpoint_disabled', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Disables checkpoints so that a deliberate server exit always initiates recovery', 'name': 'innodb_checkpoint_disabled'},
		{'caption': 'innodb_checksum_algorithm', 'versions': [((5, 6, 3),), ((5, 6), (5, 7), (8, 0)), ()], '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)), ((8, 0, 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), (8, 0)), ()], '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), (8, 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_compress_debug', 'versions': [((5, 7, 8),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'none', 'type': 'enum', 'choice': ['none', 'zlib', 'lz4', 'lz4hc']}], 'description': 'Compresses all tables using a specified compression algorithm', 'name': 'innodb_compress_debug'},
		{'caption': 'innodb_compression_failure_threshold_pct', 'versions': [((5, 6, 7),), ((5, 6), (5, 7), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 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_deadlock_detect', 'versions': [((5, 7, 15), (8, 0, 0)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enables or disables deadlock detection', 'name': 'innodb_deadlock_detect'},
		{'caption': 'innodb_dedicated_server', 'versions': [((8, 0, 3),), ((8, 0),), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enables automatic configuration of buffer pool size, log file size, and flush method', 'name': 'innodb_dedicated_server'},
		{'caption': 'innodb_default_row_format', 'versions': [((5, 7, 9),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'DYNAMIC', 'type': 'enum', 'choice': ['DYNAMIC', 'COMPACT', 'REDUNDANT']}], 'description': 'Defines the default row format (ROW_FORMAT) for InnoDB tables', 'name': 'innodb_default_row_format'},
		{'caption': 'innodb_directories', 'versions': [((8, 0, 4),), ((8, 0),), ()], 'values': [{'type': 'string'}], 'description': 'Defines directories to scan at startup for tablespace data files', 'name': 'innodb_directories'},
		{'caption': 'innodb_disable_sort_file_cache', 'versions': [((5, 6, 4),), ((5, 6), (5, 7), (8, 0)), ()], '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_disable_resize_buffer_pool_debug', 'versions': [((5, 7, 6),), ((5, 7),), ((8, 0, 0),)], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Disables resizing of the InnoDB buffer pool', 'name': 'innodb_disable_resize_buffer_pool_debug'},
		{'caption': 'innodb_doublewrite', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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_fil_make_page_dirty_debug', 'versions': [((5, 6, 17),), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '0', 'type': 'integer', 'maximum': '2**32-1'}], 'description': 'Dirties the first page of the specified tablespace', 'name': 'innodb_fil_make_page_dirty_debug'},
		{'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), (8, 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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'default': 'see description', 'bitsize': '32', 'minimum': '100', 'type': 'integer', 'maximum': '2**32-1'}, {'default': 'see description', 'bitsize': '64', 'maximum': '2**32-1', 'platform': 'windows', 'minimum': '100', 'type': 'integer'}, {'default': 'see description', 'bitsize': '64', 'maximum': '2**64-1', 'platform': 'unix', 'minimum': '100', '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)), ((8, 0, 0),)], '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_limit_optimistic_insert_debug', 'versions': [((5, 1, 68),), ((5, 1), (5, 5), (5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '2**32-1'}], 'description': 'Limits the number of records per B-tree page', 'name': 'innodb_limit_optimistic_insert_debug'},
		{'caption': 'innodb_lock_wait_timeout', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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)), ((8, 0, 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), (8, 0)), ()], '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), (8, 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'}, {'inversion': (5, 7, 5), 'default': '75', 'maximum': '99.99', 'outversion': (5, 7, 99), 'minimum': '0', 'type': 'numeric'}, {'inversion': (6, 0, 0), 'default': '90', 'maximum': '100', 'outversion': (6, 0, 99), 'minimum': '0', 'type': 'numeric'}, {'inversion': (8, 0, 0), 'default': '75', 'maximum': '99.99', 'outversion': (8, 0, 2), 'minimum': '0', 'type': 'numeric'}, {'default': '90', 'inversion': (8, 0, 3), 'minimum': '0', 'type': 'numeric', 'maximum': '99.99'}], 'description': 'Percentage of dirty pages allowed in buffer pool', 'name': 'innodb_max_dirty_pages_pct'},
		{'caption': 'innodb_max_dirty_pages_pct_lwm', 'versions': [((5, 6, 6),), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '0', 'outversion': (5, 7, 4), 'minimum': '0', 'type': 'numeric', 'maximum': '99'}, {'inversion': (5, 7, 5), 'default': '0', 'maximum': '99.99', 'outversion': (8, 0, 2), 'minimum': '0', 'type': 'numeric'}, {'default': '10', 'inversion': (8, 0, 3), '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), (8, 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), (8, 0)), ()], '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), (8, 0)), ()], '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_merge_threshold_set_all_debug', 'versions': [((5, 7, 6),), ((5, 7), (8, 0)), ()], 'values': [{'default': '50', 'minimum': '1', 'type': 'integer', 'maximum': '50'}], 'description': 'Overrides the current MERGE_THRESHOLD setting with the specified value for all indexes that are currently in the dictionary cache', 'name': 'innodb_merge_threshold_set_all_debug'},
		{'caption': 'innodb_monitor_disable', 'versions': [((5, 6, 2),), ((5, 6), (5, 7), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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_numa_interleave', 'versions': [((5, 6, 27), (5, 7, 9)), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enables the NUMA MPOL_INTERLEAVE memory policy for allocation of the InnoDB buffer pool', 'name': 'innodb_numa_interleave'},
		{'caption': 'innodb_old_blocks_pct', 'versions': [((5, 1, 41),), ((5, 1), (5, 5), (5, 6), (5, 7), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 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_optimize_point_storage', 'versions': [((5, 7, 5),), ((5, 7),), ((5, 7, 6),)], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enable this option to store POINT data as fixed-length data rather than a variable-length data', 'name': 'innodb_optimize_point_storage'},
		{'caption': 'innodb_print_all_deadlocks', 'versions': [((5, 5, 30), (5, 6, 2)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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_print_ddl_logs', 'versions': [((8, 0, 3),), ((8, 0),), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether or not to print DDL logs to the error log', 'name': 'innodb_print_ddl_logs'},
		{'caption': 'innodb_purge_batch_size', 'versions': [((5, 5, 4),), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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_rseg_truncate_frequency', 'versions': [((5, 7, 5),), ((5, 7), (8, 0)), ()], 'values': [{'default': '128', 'minimum': '1', 'type': 'integer', 'maximum': '128'}], 'description': 'The rate at which undo log purge should be invoked as part of the purge action. A value of n invokes undo log purge on every nth iteration of purge invocation.', 'name': 'innodb_purge_rseg_truncate_frequency'},
		{'caption': 'innodb_purge_threads', 'versions': [((5, 5, 4),), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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 source 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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Starts the server in read-only mode', 'name': 'innodb_read_only'},
		{'caption': 'innodb_redo_log_encrypt', 'versions': [((8, 0, 1),), ((8, 0),), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Controls encryption of redo log data for encrypted tablepaces', 'name': 'innodb_redo_log_encrypt'},
		{'caption': 'innodb_replication_delay', 'versions': [((5, 1, 38), (5, 4, 2)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'The replica 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), (8, 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), (8, 0)), ()], '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_saved_page_number_debug', 'versions': [((5, 6, 17),), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '0', 'type': 'integer', 'maximum': '2**23-1'}], 'description': 'Saves a page number', 'name': 'innodb_saved_page_number_debug'},
		{'caption': 'innodb_scan_directories', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'values': [{'default': 'NULL', 'type': 'string'}], 'description': 'Defines directories to scan for tablespace files during InnoDB recovery', 'name': 'innodb_scan_directories'},
		{'caption': 'innodb_spin_wait_delay', 'versions': [((5, 1, 38), (5, 4, 2)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '6', 'bitsize': '32', 'minimum': '0', 'type': 'integer', 'maximum': '2**32-1'}, {'default': '6', 'bitsize': '64', 'minimum': '0', 'type': 'integer', 'maximum': '2**64-1'}], '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), (8, 0)), ()], '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_include_delete_marked', 'versions': [((5, 6, 35), (5, 7, 17), (8, 0, 1)), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Include delete-marked records when calculating persistent InnoDB statistics', 'name': 'innodb_stats_include_delete_marked'},
		{'caption': 'innodb_stats_method', 'versions': [((5, 1, 56), (5, 5, 10), (5, 6, 2)), ((5, 1), (5, 5), (5, 6), (5, 7), (8, 0)), ()], '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), (8, 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), (8, 0)), ()], '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), (8, 0)), ()], '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)), ((8, 0, 0),)], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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)), ((8, 0, 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), (8, 0)), ()], '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), (8, 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_sync_debug', 'versions': [((5, 7, 8),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Enables InnoDB sync debug checking', 'name': 'innodb_sync_debug'},
		{'caption': 'innodb_table_locks', 'versions': [((4, 1, 2),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 0)), ()], 'values': [{'default': 'ibtmp1:12M:autoextend', 'type': 'string'}], 'description': 'Path to temporary tablespace data files and their sizes', 'name': 'innodb_temp_data_file_path'},
		{'caption': 'internal_tmp_mem_storage_engine', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'values': [{'default': 'TempTable', 'type': 'enum', 'choice': ['TempTable', 'MEMORY']}], 'description': 'Defines the storage to use for internal in-memory temporary tables', 'name': 'internal_tmp_mem_storage_engine'},
		{'caption': 'innodb_tmpdir', 'versions': [((5, 6, 29), (5, 7, 11), (8, 0, 0)), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': 'NULL', 'type': 'dirname'}], 'description': 'The directory location for the temporary table files created during online ALTER TABLE operations', 'name': 'innodb_tmpdir'},
		{'caption': 'innodb_thread_concurrency', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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'}, {'inversion': (6, 0, 0), 'default': '8', 'maximum': '1000', 'outversion': (6, 0, 99), 'minimum': '0', 'type': 'integer'}], '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), (8, 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_trx_purge_view_update_only_debug', 'versions': [((5, 1, 68),), ((5, 1), (5, 5), (5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Pauses purging of delete-marked records while allowing the purge view to be updated', 'name': 'innodb_trx_purge_view_update_only_debug'},
		{'caption': 'innodb_trx_rseg_n_slots_debug', 'versions': [((5, 1, 62),), ((5, 1), (5, 5), (5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '0', 'type': 'integer', 'maximum': '1024'}], 'description': 'Sets a debug flag that limits TRX_RSEG_N_SLOTS to a given value for the trx_rsegf_undo_find_free function', 'name': 'innodb_trx_rseg_n_slots_debug'},
		{'caption': 'innodb_undo_tablespaces', 'versions': [((5, 6, 3),), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '0', 'outversion': (5, 7, 7), 'minimum': '0', 'type': 'integer', 'maximum': '126'}, {'inversion': (5, 7, 8), 'default': '0', 'maximum': '95', 'outversion': (8, 0, 1), 'minimum': '0', 'type': 'integer'}, {'inversion': (8, 0, 2), 'default': '2', 'maximum': '127', 'outversion': (8, 0, 2), 'minimum': '0', 'type': 'integer'}, {'default': '2', 'inversion': (8, 0, 3), 'minimum': '2', 'type': 'integer', 'maximum': '127'}], 'description': 'The number of tablespace files that rollback segments are divided between', '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), (8, 0)), ()], '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), (8, 0)), ()], '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': 'internal_tmp_disk_storage_engine', 'versions': [((5, 7, 5),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'MYISAM', 'outversion': (5, 7, 5), 'type': 'enum', 'choice': ['MYISAM', 'INNODB']}, {'default': 'INNODB', 'inversion': (5, 7, 6), 'type': 'enum', 'choice': ['MYISAM', 'INNODB']}], 'description': 'Storage engine for internal temporary tables', 'name': 'internal_tmp_disk_storage_engine'},
		{'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'}])], 300),
( '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), (8, 0)), ()], 'values': [{'default': '1048576', 'outversion': (5, 6, 5), 'minimum': '1024', 'type': 'integer', 'maximum': '1073741824'}, {'inversion': (5, 6, 6), 'default': '4194304', 'maximum': '1073741824', 'outversion': (8, 0, 2), 'minimum': '1024', 'type': 'integer'}, {'default': '67108864', 'inversion': (8, 0, 3), '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), (8, 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 encrypted connection', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'File that contains list of trusted SSL Certificate Authorities', '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), (8, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'Directory that contains trusted SSL Certificate Authority certificate files', '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), (8, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'File that contains X509 certificate', '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), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'List of permitted ciphers for connection encryption', 'name': 'ssl-cipher'},
		{'caption': 'ssl-crl', 'versions': [((5, 6, 3),), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'File that contains certificate revocation lists', 'name': 'ssl-crl'},
		{'caption': 'ssl-crlpath', 'versions': [((5, 6, 3),), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'Directory that contains certificate revocation list files', 'name': 'ssl-crlpath'},
		{'caption': 'ssl_fips_mode', 'versions': [((8, 0, 11),), ((8, 0),), ()], 'values': [{'default': 'OFF', 'type': 'enum', 'choice': ['OFF', 'ON', 'STRICT']}], 'description': 'Whether to enable FIPS mode on the server side', 'name': 'ssl_fips_mode'},
		{'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), (8, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'File that contains X509 key', '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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': "Do not 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), (8, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Do not 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), (8, 0)), ()], 'values': [{'default': '/tmp/mysql.sock', 'platform': 'other', 'type': 'filebrowse'}, {'default': 'MySQL', 'platform': 'windows', 'type': 'string'}], 'description': 'Socket file on which to listen for Unix socket or Windows named pipe connections', 'name': 'socket'}])], 200),
( 'Advanced', [
	( 'Transactions', [
		{'caption': 'completion_type', 'versions': [((5, 0, 3),), ((5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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', 'outversion': (6, 0, 99), '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), (8, 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), (8, 0)), ()], '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), (8, 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), (8, 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), (8, 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), (5, 1), (5, 5)), ((5, 5, 3),)], 'values': [{'type': 'string'}], 'description': 'Change the value of a variable', '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), (8, 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), (8, 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), (8, 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', 'loaded-dynamically']}, {'default': 'one-thread-per-connection', 'inversion': (5, 7, 0), 'type': 'enum', 'outversion': (5, 7, 8), 'choice': ['no-threads', 'one-thread-per-connection']}, {'default': 'one-thread-per-connection', 'inversion': (5, 7, 9), 'type': 'enum', 'choice': ['no-threads', 'one-thread-per-connection', 'loaded-dynamically']}, {'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', 'outversion': (6, 0, 99), '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, 7, 9), (8, 0, 11)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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, 7, 9), (8, 0, 11)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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, 7, 9), (8, 0, 11)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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, 7, 9), (8, 0, 11)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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), (5, 7, 9), (8, 0, 11), (6, 0, 4)), ((5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ((6, 0, 14),)], 'values': [{'default': '16', 'minimum': '1', 'type': 'integer', 'maximum': '64'}, {'inversion': (6, 0, 4), 'default': '20', 'maximum': '16384', 'outversion': (6, 0, 99), 'minimum': '1', 'type': 'integer'}], '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, 7, 9), (8, 0, 11)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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'},
		{'optype': {'format': 'max_execution_time=#'}, 'description': 'Statement execution timeout value', 'versions': [((5, 7, 8),), ((5, 7), (8, 0)), ()], 'caption': 'max_execution_time', 'values': [{'default': '0', 'type': 'integer'}], 'name': 'max_execution_time'},
		{'caption': 'max_heap_table_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'default': '16777216', 'bitsize': '32', 'minimum': '16384', 'type': 'integer', 'maximum': '4294967295'}, {'default': '16777216', 'bitsize': '64', 'minimum': '16384', 'type': 'integer', 'maximum': '1844674407370954752'}], 'description': 'Do not 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), (8, 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), (8, 0)), ()], 'values': [{'default': '1024', 'outversion': (8, 0, 0), 'minimum': '4', 'type': 'integer', 'maximum': '8388608'}, {'default': '4096', 'inversion': (8, 0, 1), 'minimum': '4', 'type': 'integer', 'maximum': '8388608'}], 'description': 'Max number of bytes in sorted records', 'name': 'max_length_for_sort_data'},
		{'caption': 'max_points_in_geometry', 'versions': [((5, 7, 8),), ((5, 7), (8, 0)), ()], 'values': [{'default': '65536', 'minimum': '3', 'type': 'integer', 'maximum': '1048576'}], 'description': 'Maximum number of points in geometry values for ST_Buffer_Strategy()', 'name': 'max_points_in_geometry'},
		{'caption': 'max_seeks_for_key', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 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), (8, 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, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ((5, 2, 4), (8, 0, 3), (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), (8, 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), (8, 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), (8, 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), (8, 0)), ()], 'values': [{'outversion': (5, 7, 8), 'default': '4096', 'bitsize': '32', 'maximum': '4294967295', 'minimum': '4096', 'blocksize': '1024', 'type': 'integer'}, {'inversion': (5, 7, 8), 'default': '4096', 'bitsize': '64', 'maximum': '18446744073709547520', 'minimum': '4096', 'blocksize': '1024', 'type': 'integer'}, {'inversion': (5, 5, 3), 'minimum': '4096', 'blocksize': '1024', 'default': '4096', 'bitsize': '64', 'type': 'integer', 'maximum': '18446744073709551615', 'outversion': (5, 7, 8)}, {'inversion': (5, 7, 9), 'default': '4096', 'blocksize': '1024', 'maximum': '4294967295', 'minimum': '4096', 'type': 'integer'}], 'description': 'Allocation block size for storing ranges during optimization', 'name': 'range_alloc_block_size'},
		{'caption': 'range_optimizer_max_mem_size', 'versions': [((5, 7, 9),), ((5, 7), (8, 0)), ()], 'values': [{'default': '1536000', 'outversion': (5, 7, 11), 'minimum': '0', 'type': 'integer', 'maximum': '18446744073709551615'}, {'default': '8388608', 'inversion': (5, 7, 12), 'minimum': '0', 'type': 'integer', 'maximum': '18446744073709551615'}], 'description': 'Limit on range optimizer memory consumption', 'name': 'range_optimizer_max_mem_size'},
		{'caption': 'read_buffer_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 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': 'regexp_stack_limit', 'versions': [((8, 0, 4),), ((8, 0),), ()], 'values': [{'default': '8000000', 'minimum': '0', 'type': 'integer', 'maximum': '2147483647'}], 'description': 'Regular expression match stack size limit', 'name': 'regexp_stack_limit'},
		{'caption': 'regexp_time_limit', 'versions': [((8, 0, 4),), ((8, 0),), ()], 'values': [{'default': '32', 'minimum': '0', 'type': 'integer', 'maximum': '2147483647'}], 'description': 'Regular expression match timeout', 'name': 'regexp_time_limit'},
		{'caption': 'tmp_table_size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 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), (8, 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), (8, 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), (8, 0)), ()], 'values': [{'default': '20', 'minimum': '0', 'type': 'integer', 'maximum': '16384'}], 'description': 'Do not 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)), ((8, 0, 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), (8, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'Chroot mysqld daemon during startup', 'name': 'chroot'},
		{'caption': 'daemonize', 'versions': [((5, 7, 6),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Run as System V daemon', 'name': 'daemonize'},
		{'caption': 'debug', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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; supported only if MySQL was built with debugging support', 'name': 'debug'},
		{'caption': 'debug-sync-timeout', 'versions': [((5, 1, 41), (6, 0, 6)), ((5, 1), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 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': 'early-plugin-load', 'versions': [((5, 7, 11), (8, 0, 0)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'keyring_file plugin library file name', 'inversion': (5, 7, 11), 'type': 'string', 'outversion': (5, 7, 11)}, {'default': '', 'inversion': (5, 7, 12), 'type': 'string'}], 'description': 'Specify plugins to load before loading mandatory built-in plugins and before storage engine initialization', 'name': 'early-plugin-load'},
		{'caption': 'exit-info', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 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), (8, 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': 'gtid-executed-compression-period', 'versions': [((5, 7, 6),), ((5, 7), (8, 0)), ()], 'values': [{'default': '1000', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Compress gtid_executed table each time this many transactions have occurred. 0 means never compress this table. Applies only when binary logging is disabled.', 'name': 'gtid-executed-compression-period'},
		{'caption': 'init_connect', 'versions': [((4, 1, 2),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Statements that are executed when a replica connects to a source ', 'name': 'init_slave'},
		{'caption': 'initialize', 'versions': [((5, 7, 6),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to run in initialization mode (secure)', 'name': 'initialize'},
		{'caption': 'initialize-insecure', 'versions': [((5, 7, 6),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to run in initialization mode (insecure)', 'name': 'initialize-insecure'},
		{'caption': 'max_digest_length', 'versions': [((5, 6, 24), (5, 7, 6)), ((5, 6), (5, 7), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'default': '64', 'outversion': (8, 0, 2), 'minimum': '0', 'type': 'integer', 'maximum': '65535'}, {'default': '1024', 'inversion': (8, 0, 3), '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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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': 'Do not 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), (8, 0)), ()], '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), (8, 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)), ((8, 0, 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), (8, 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'}])], 250),
( 'Other', [
	( 'X', [
		{'caption': 'mysqlx-ssl', 'versions': [(), ((5, 7), (8, 0)), ()], 'values': [{'type': 'integer'}], 'description': 'Enabled when using SSL with', 'name': 'mysqlx-ssl'},
		{'caption': 'mysqlx-ssl-key', 'versions': [(), ((5, 7), (8, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'Path to X509 key', 'name': 'mysqlx-ssl-key'},
		{'caption': 'mysqlx-ssl-ca', 'versions': [(), ((5, 7), (8, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'Path to SSL Certificate Authority file', 'name': 'mysqlx-ssl-ca'},
		{'caption': 'mysqlx-ssl-capath', 'versions': [(), ((5, 7), (8, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'SSL Certificate Authority file directory', 'name': 'mysqlx-ssl-capath'},
		{'caption': 'mysqlx-ssl-cert', 'versions': [(), ((5, 7), (8, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'Path to X509 certficate', 'name': 'mysqlx-ssl-cert'},
		{'caption': 'mysqlx-ssl-cipher', 'versions': [(), ((5, 7), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'SSL cipher to use', 'name': 'mysqlx-ssl-cipher'},
		{'caption': 'mysqlx-ssl-crl', 'versions': [(), ((5, 7), (8, 0)), ()], 'values': [{'type': 'filename'}], 'description': 'Certificate revocation list', 'name': 'mysqlx-ssl-crl'},
		{'caption': 'mysqlx-ssl-crlpath', 'versions': [(), ((5, 7), (8, 0)), ()], 'values': [{'type': 'dirname'}], 'description': 'Certificate revocation list path', 'name': 'mysqlx-ssl-crlpath'},
		{'optype': {'format': 'mysqlx_bind_address=value'}, 'description': 'The network address uses for connections.', 'versions': [(), ((5, 7), (8, 0)), ()], 'caption': 'mysqlx_bind_address', 'values': [{'default': '*', 'type': 'string'}], 'name': 'mysqlx_bind_address'},
		{'optype': {'format': 'mysqlx_connect_timeout=value'}, 'description': 'How long waits for a connect packet.', 'versions': [(), ((5, 7), (8, 0)), ()], 'caption': 'mysqlx_connect_timeout', 'values': [{'default': '30', 'minimum': '1', 'type': 'integer', 'maximum': '1000000000'}], 'name': 'mysqlx_connect_timeout'},
		{'optype': {'format': 'mysqlx_document_id_unique_prefix=value'}, 'description': 'Use a custom prefix for document IDs.', 'versions': [(), ((8, 0),), ()], 'caption': 'mysqlx_document_id_unique_prefix', 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '65535'}], 'name': 'mysqlx_document_id_unique_prefix'},
		{'optype': {'format': 'mysqlx_idle_worker_thread_timeout=value'}, 'description': 'Number of seconds after which an idle worker thread is terminated.', 'versions': [(), ((5, 7), (8, 0)), ()], 'caption': 'mysqlx_idle_worker_thread_timeout', 'values': [{'default': '60', 'minimum': '0', 'type': 'integer', 'maximum': '3600'}], 'name': 'mysqlx_idle_worker_thread_timeout'},
		{'optype': {'format': 'mysqlx_interactive_timeout=value'}, 'description': 'Number of seconds to wait for an interactive client to timeout', 'versions': [((8, 0, 4),), ((8, 0),), ()], 'caption': 'mysqlx_interactive_timeout', 'values': [{'default': '28800', 'minimum': '1', 'type': 'integer', 'maximum': '2147483'}], 'name': 'mysqlx_interactive_timeout'},
		{'optype': {'format': 'mysqlx_max_allowed_packet=value'}, 'description': 'Maximum size of a network packet that can be received by X Plugin.', 'versions': [((5, 7, 12),), ((5, 7), (8, 0)), ()], 'caption': 'mysqlx_max_allowed_packet', 'values': [{'default': '1048576', 'minimum': '512', 'type': 'integer', 'maximum': '1073741824'}], 'name': 'mysqlx_max_allowed_packet'},
		{'optype': {'format': 'mysqlx_max_connections=value'}, 'description': 'Maximum number of concurrent client connections.', 'versions': [(), ((5, 7), (8, 0)), ()], 'caption': 'mysqlx_max_connections', 'values': [{'default': '100', 'minimum': '1', 'type': 'integer', 'maximum': '65535'}], 'name': 'mysqlx_max_connections'},
		{'optype': {'format': 'mysqlx_min_worker_threads=value'}, 'description': 'Minimum number of worker threads used for handling client requests.', 'versions': [(), ((5, 7), (8, 0)), ()], 'caption': 'mysqlx_min_worker_threads', 'values': [{'default': '2', 'minimum': '1', 'type': 'integer', 'maximum': '100'}], 'name': 'mysqlx_min_worker_threads'},
		{'optype': {'format': 'mysqlx_port=value'}, 'description': 'Port where accepts connections', 'versions': [((5, 7, 12),), ((5, 7), (8, 0)), ()], 'caption': 'mysqlx_port', 'values': [{'default': '33060', 'minimum': '1', 'type': 'integer', 'maximum': '65535'}], 'name': 'mysqlx_port'},
		{'optype': {'format': 'mysqlx_port_open_timeout=value'}, 'description': 'Time which the X Plugin waits when accepting connections', 'versions': [((5, 7, 12),), ((5, 7), (8, 0)), ()], 'caption': 'mysqlx_port_open_timeout', 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '100'}], 'name': 'mysqlx_port_open_timeout'},
		{'optype': {'format': 'mysqlx_read_timeout=value'}, 'description': 'Number of seconds to wait for blocking read operations to complete', 'versions': [((8, 0, 4),), ((8, 0),), ()], 'caption': 'mysqlx_read_timeout', 'values': [{'default': '28800', 'minimum': '30', 'type': 'integer', 'maximum': '2147483'}], 'name': 'mysqlx_read_timeout'},
		{'optype': {'format': 'mysqlx_socket=file_name'}, 'description': 'Path to the socket where listens for connections', 'versions': [((5, 7, 15),), ((5, 7), (8, 0)), ()], 'caption': 'mysqlx_socket', 'values': [{'default': '/tmp/mysqlx.sock', 'type': 'string'}], 'name': 'mysqlx_socket'},
		{'optype': {'format': 'mysqlx_wait_timeout=value'}, 'description': 'Number of seconds to wait for activity on a connection', 'versions': [((8, 0, 4),), ((8, 0),), ()], 'caption': 'mysqlx_wait_timeout', 'values': [{'default': '28800', 'minimum': '1', 'type': 'integer', 'maximum': '2147483'}], 'name': 'mysqlx_wait_timeout'},
		{'optype': {'format': 'mysqlx_write_timeout=value'}, 'description': 'Number of seconds to wait for blocking write operation to complete', 'versions': [((8, 0, 4),), ((8, 0),), ()], 'caption': 'mysqlx_write_timeout', 'values': [{'default': '60', 'minimum': '1', 'type': 'integer', 'maximum': '2147483'}], 'name': 'mysqlx_write_timeout'}]),
	( 'NDB', [
		{'caption': 'create_old_temporals', 'versions': [((5, 6, 25), (5, 6, 25)), ((5, 6),), ((5, 7),)], 'values': [{'default': 'false', 'on': 'true', 'outversion': (5, 6, 99), 'off': 'false', 'type': 'boolean'}], 'description': 'Use pre-5.6.4 storage format for temporal types when creating tables. Intended for use in replication and upgrades/downgrades between NDB 7.2 and NDB 7.3/7.4.', 'name': 'create_old_temporals'},
		{'caption': 'ndb-batch-size', 'versions': [((5, 1, 23),), ((5, 1), (5, 5), (5, 6), (5, 7), (8, 0)), ()], '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, 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 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, 51)), ((5, 1), (5, 5), (5, 6), (5, 7), (8, 0)), ()], '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), (8, 0)), ()], '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-cluster-connection-pool-nodeids', 'versions': [((5, 7, 10),), ((5, 7), (8, 0)), ()], 'values': [{'default': '', 'type': 'set'}], 'description': 'Comma-separated list of node IDs for connections to the cluster used by MySQL; the number of nodes in the list must be the same as the value set for --ndb-cluster-connection-pool', 'name': 'ndb-cluster-connection-pool-nodeids'},
		{'caption': 'ndb-connectstring', 'versions': [(), ((5, 0), (5, 1), (5, 5), (5, 6), (5, 7), (8, 0)), ()], '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), (8, 0)), ()], '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, 22)), ((5, 1), (5, 5), (5, 6)), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Toggles logging of updates on the source 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), (8, 0)), ()], '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), (5, 7)), ()], 'values': [{'inversion': (5, 0, 45), 'minimum': '1', 'type': 'integer', 'maximum': '63'}, {'inversion': (5, 1, 5), 'minimum': '1', 'type': 'integer', 'maximum': '255'}], 'description': 'NDB Cluster node ID for this MySQL server', 'name': 'ndb-nodeid'},
		{'caption': 'ndb-recv-thread-activation-threshold', 'versions': [((5, 6, 10),), ((5, 6), (5, 7)), ()], '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), (5, 7)), ()], '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), (5, 7)), ()], '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'}, {'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, 39), (5, 1, 39)), ((5, 1), (5, 5), (5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '15', 'inversion': (5, 1, 39), 'minimum': '0', 'type': 'integer', 'maximum': '31536000'}, {'default': '15', 'inversion': (5, 1, 39), 'minimum': '0', 'type': 'integer', 'maximum': '31536000'}, {'inversion': (5, 1, 39), 'default': '15', 'maximum': '31536000', 'outversion': (5, 1, 56), 'minimum': '0', 'type': 'integer'}, {'default': '30', 'inversion': (5, 1, 56), 'minimum': '0', 'type': 'integer', 'maximum': '31536000'}, {'inversion': (5, 1, 39), 'default': '15', 'maximum': '31536000', 'outversion': (5, 1, 56), 'minimum': '0', 'type': 'integer'}, {'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-allow-copying-alter-table', 'versions': [((5, 7, 10),), ((5, 7),), ()], 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Set to OFF to keep ALTER TABLE from using copying operations on NDB tables', 'name': 'ndb-allow-copying-alter-table'},
		{'caption': 'ndb_autoincrement_prefetch_sz', 'versions': [((4, 1, 8),), ((4, 1), (5, 0), (5, 1), (5, 5), (5, 6), (5, 7), (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), (5, 7)), ()], '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_data_node_neighbour', 'versions': [((5, 7, 12),), ((5, 7),), ()], 'values': [{'default': '0', 'inversion': (5, 7, 12), 'minimum': '0', 'type': 'integer', 'maximum': '255'}], 'description': 'Specifies cluster data node "closest" to this MySQL Server, for transaction hinting and fully replicated tables', 'name': 'ndb_data_node_neighbour'},
		{'caption': 'ndb_default_column_format', 'versions': [((5, 7, 11),), ((5, 7),), ()], 'values': [{'default': 'DYNAMIC', 'inversion': (5, 7, 11), 'type': 'enum', 'outversion': (5, 7, 13), 'choice': ['FIXED', 'DYNAMIC']}, {'default': 'FIXED', 'inversion': (5, 7, 16), 'type': 'enum', 'choice': ['FIXED', 'DYNAMIC']}], 'description': 'Sets default row format and column format (FIXED or DYNAMIC) used for new NDB tables', 'name': 'ndb_default_column_format'},
		{'caption': 'ndb_deferred_constraints', 'versions': [((5, 1, 56), (5, 1, 56)), ((5, 1), (5, 5), (5, 6), (5, 7), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (5, 7)), ()], 'values': [{'default': '0', 'outversion': (5, 1, 18), 'type': 'integer'}, {'default': '1', 'inversion': (5, 1, 19), 'type': 'integer'}], 'description': 'Controls logging of NDB 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), (8, 0)), ()], '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_fully_replicated', 'versions': [((5, 7, 12),), ((5, 7),), ()], 'values': [{'default': 'off', 'on': 'on', 'inversion': (5, 7, 12), 'off': 'off', 'type': 'boolean'}], 'description': 'Whether new NDB tables are fully replicated', 'name': 'ndb_fully_replicated'},
		{'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), (8, 0)), ()], '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), (8, 0)), ()], '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, 51)), ((5, 1), (5, 5), (5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether or not a MySQL server acting as a replica logs mysql.ndb_apply_status updates received from its immediate source 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, 31)), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], '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_empty_update', 'versions': [((5, 1, 31), (5, 1, 31)), ((5, 1), (5, 5), (5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'When enabled, updates which produce 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_update'},
		{'caption': 'ndb_log_exclusive_reads', 'versions': [((5, 6, 20),), ((5, 6), (5, 7)), ()], '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), (5, 7)), ()], '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-update-minimal', 'versions': [((5, 6, 36), (5, 7, 18), (5, 7, 18)), ((5, 6), (5, 7)), ()], 'values': [{'default': 'off', 'on': 'on', 'inversion': (5, 6, 36), 'off': 'off', 'type': 'boolean'}, {'default': 'off', 'on': 'on', 'inversion': (5, 7, 18), 'off': 'off', 'type': 'boolean'}, {'default': 'off', 'on': 'on', 'inversion': (5, 7, 18), 'off': 'off', 'type': 'boolean'}], 'description': 'Log updates in a minimal format.', 'name': 'ndb-log-update-minimal'},
		{'caption': 'ndb_log_updated_only', 'versions': [((5, 1, 19),), ((5, 1), (5, 5), (5, 6), (5, 7), (8, 0)), ()], '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), (8, 0)), ()], '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_read_backup', 'versions': [((5, 7, 12),), ((5, 7),), ()], 'values': [{'default': 'off', 'on': 'on', 'inversion': (5, 7, 12), 'off': 'off', 'type': 'boolean'}], 'description': 'Enable read from any replica', 'name': 'ndb_read_backup'},
		{'caption': 'ndb_report_thresh_binlog_epoch_slip', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'default': '3', 'outversion': (5, 7, 13), 'minimum': '0', 'type': 'integer', 'maximum': '256'}, {'default': '10', 'inversion': (5, 7, 16), 'minimum': '0', 'type': 'integer', 'maximum': '256'}], 'description': 'NDB 7.5.4 and later: Threshold for number of epochs completely buffered, but not yet consumed by binlog injector thread which when exceeded generates BUFFERED_EPOCHS_OVER_THRESHOLD event buffer status message; prior to NDB 7.5.4: Threshold for number of epochs to lag 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), (8, 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), (8, 0)), ()], '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), (5, 7)), ()], 'values': [{'default': 'NONE', 'type': 'enum', 'choice': ['NONE', 'PRIMARY', 'SECONDARY', 'PASS']}], 'description': 'Role for replica to play in conflict detection and resolution. Value is one of PRIMARY, SECONDARY, PASS, or NONE (default). Can be changed only when replica 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), (8, 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), (5, 7)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'default': 'NULL', 'type': 'dirname'}], 'description': '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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'}]),
	( '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'}])], 300),
( 'Security', [
	( 'Authentication', [
		{'caption': 'activate_all_roles_on_login', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to activate all user roles at connect time', 'name': 'activate_all_roles_on_login'},
		{'caption': 'check_proxy_users', 'versions': [((5, 7, 7),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether built-in authentication plugins do proxying', 'name': 'check_proxy_users'},
		{'caption': 'connection_control_failed_connections_threshold', 'versions': [((5, 6, 35), (5, 7, 17), (8, 0, 1)), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '3', 'minimum': '0', 'type': 'integer', 'maximum': '2147483647'}], 'description': 'Consecutive failed connection attempts before delays occur', 'name': 'connection_control_failed_connections_threshold'},
		{'caption': 'connection_control_max_connection_delay', 'versions': [((5, 6, 35), (5, 7, 17), (8, 0, 1)), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '2147483647', 'minimum': '1000', 'type': 'integer', 'maximum': '2147483647'}], 'description': 'Maximum delay (milliseconds) for server response to failed connection attempts', 'name': 'connection_control_max_connection_delay'},
		{'caption': 'connection_control_min_connection_delay', 'versions': [((5, 6, 35), (5, 7, 17), (8, 0, 1)), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '1000', 'minimum': '1000', 'type': 'integer', 'maximum': '2147483647'}], 'description': 'Minimum delay (milliseconds) for server response to failed connection attempts', 'name': 'connection_control_min_connection_delay'},
		{'optype': {'format': 'default-authentication-plugin=plugin_name'}, 'description': 'The default authentication plugin', 'versions': [((5, 7, 2),), ((5, 7), (8, 0)), ()], 'caption': 'default_authentication_plugin', 'values': [{'default': 'mysql_native_password', 'outversion': (8, 0, 2), 'type': 'enum', 'choice': ['mysql_native_password', 'sha256_password']}, {'default': 'mysql_native_password', 'inversion': (8, 0, 3), 'type': 'enum', 'outversion': (8, 0, 3), 'choice': ['mysql_native_password', 'sha256_password', 'caching_sha2_password']}, {'default': 'caching_sha2_password', 'inversion': (8, 0, 4), 'type': 'enum', 'choice': ['mysql_native_password', 'sha256_password', 'caching_sha2_password']}], 'name': 'default_authentication_plugin'},
		{'optype': {'format': 'default_password_lifetime=#'}, 'description': 'Age in days when passwords effectively expire', 'versions': [((5, 7, 4),), ((5, 7), (8, 0)), ()], 'caption': 'default_password_lifetime', 'values': [{'default': '360', 'outversion': (5, 7, 10), 'minimum': '0', 'type': 'integer', 'maximum': '65535'}, {'default': '0', 'inversion': (5, 7, 11), '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), (8, 0)), ()], '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': 'keyring_aws_cmk_id', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'AWS keyring plugin customer source key ID value', 'name': 'keyring_aws_cmk_id'},
		{'caption': 'keyring_aws_conf_file', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'platform specific', 'type': 'filename'}], 'description': 'AWS keyring plugin configuration file location', 'name': 'keyring_aws_conf_file'},
		{'caption': 'keyring_aws_data_file', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'platform specific', 'type': 'filename'}], 'description': 'AWS keyring plugin storage file location', 'name': 'keyring_aws_data_file'},
		{'caption': 'keyring_aws_region', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'us-east-1', 'type': 'enum', 'choice': ['ap-northheast-1', 'ap-northheast-2', 'ap-south-1', 'ap-southeast-1', 'ap-southeast-2', 'eu-central-1', 'eu-west-1', 'sa-east-1', 'us-east-1', 'us-west-1', 'us-west-2']}], 'description': 'AWS keyring plugin region', 'name': 'keyring_aws_region'},
		{'caption': 'keyring_encrypted_file_data', 'versions': [((5, 7, 21), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'platform specific', 'type': 'filename'}], 'description': 'keyring_encrypted_file plugin data file', 'name': 'keyring_encrypted_file_data'},
		{'caption': 'keyring_encrypted_file_password', 'versions': [((5, 7, 21), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [], 'description': 'keyring_encrypted_file plugin password', 'name': 'keyring_encrypted_file_password'},
		{'caption': 'keyring_file_data', 'versions': [((5, 7, 11),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'platform specific', 'type': 'filename'}], 'description': 'keyring_file plugin data file', 'name': 'keyring_file_data'},
		{'caption': 'keyring-migration-destination', 'versions': [((5, 7, 21), (8, 0, 4)), ((5, 7), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Key migration destination keyring plugin', 'name': 'keyring-migration-destination'},
		{'caption': 'keyring-migration-host', 'versions': [((5, 7, 21), (8, 0, 4)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'localhost', 'type': 'string'}], 'description': 'Host name for connecting to running server for key migration', 'name': 'keyring-migration-host'},
		{'caption': 'keyring-migration-password', 'versions': [((5, 7, 21), (8, 0, 4)), ((5, 7), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Password for connecting to running server for key migration', 'name': 'keyring-migration-password'},
		{'caption': 'keyring-migration-port', 'versions': [((5, 7, 21), (8, 0, 4)), ((5, 7), (8, 0)), ()], 'values': [{'default': '3306', 'type': 'numeric'}], 'description': 'TCP/IP port number for connecting to running server for key migration', 'name': 'keyring-migration-port'},
		{'caption': 'keyring-migration-socket', 'versions': [((5, 7, 21), (8, 0, 4)), ((5, 7), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Unix socket file or Windows named pipe for connecting to running server for key migration', 'name': 'keyring-migration-socket'},
		{'caption': 'keyring-migration-source', 'versions': [((5, 7, 21), (8, 0, 4)), ((5, 7), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Key migration source keyring plugin', 'name': 'keyring-migration-source'},
		{'caption': 'keyring-migration-user', 'versions': [((5, 7, 21), (8, 0, 4)), ((5, 7), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'User name for connecting to running server for key migration', 'name': 'keyring-migration-user'},
		{'caption': 'keyring_okv_conf_dir', 'versions': [((5, 7, 12), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': '', 'type': 'dirname'}], 'description': 'Oracle Key Vault keyring plugin configuration directory', 'name': 'keyring_okv_conf_dir'},
		{'caption': 'authentication_ldap_sasl_auth_method_name', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'SCRAM-SHA-1', 'type': 'string'}], 'description': 'Authentication method name', 'name': 'authentication_ldap_sasl_auth_method_name'},
		{'caption': 'authentication_ldap_sasl_bind_base_dn', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'NULL', 'type': 'string'}], 'description': 'LDAP server base distinguished name', 'name': 'authentication_ldap_sasl_bind_base_dn'},
		{'caption': 'authentication_ldap_sasl_bind_root_dn', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'NULL', 'type': 'string'}], 'description': 'LDAP server root distinguished name', 'name': 'authentication_ldap_sasl_bind_root_dn'},
		{'caption': 'authentication_ldap_sasl_bind_root_pwd', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'NULL', 'type': 'string'}], 'description': 'LDAP server root bind password', 'name': 'authentication_ldap_sasl_bind_root_pwd'},
		{'caption': 'authentication_ldap_sasl_ca_path', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'NULL', 'type': 'string'}], 'description': 'LDAP server certificate authority file name', 'name': 'authentication_ldap_sasl_ca_path'},
		{'caption': 'authentication_ldap_sasl_group_search_attr', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'cn', 'type': 'string'}], 'description': 'LDAP server group search attribute', 'name': 'authentication_ldap_sasl_group_search_attr'},
		{'caption': 'authentication_ldap_sasl_group_search_filter', 'versions': [((5, 7, 21), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': '(|(&(objectClass=posixGroup)(memberUid=%s))(&(objectClass=group)(member=%s)))', 'type': 'string'}], 'description': 'LDAP custom group search filter', 'name': 'authentication_ldap_sasl_group_search_filter'},
		{'caption': 'authentication_ldap_sasl_init_pool_size', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': '10', 'minimum': '0', 'type': 'integer', 'maximum': '32767'}], 'description': 'LDAP server initial connection pool size', 'name': 'authentication_ldap_sasl_init_pool_size'},
		{'caption': 'authentication_ldap_sasl_log_status', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': '1', 'minimum': '1', 'type': 'integer', 'maximum': '5'}], 'description': 'LDAP server log level', 'name': 'authentication_ldap_sasl_log_status'},
		{'caption': 'authentication_ldap_sasl_max_pool_size', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': '1000', 'minimum': '0', 'type': 'integer', 'maximum': '32767'}], 'description': 'LDAP server maximum connection pool size', 'name': 'authentication_ldap_sasl_max_pool_size'},
		{'caption': 'authentication_ldap_sasl_server_host', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'LDAP server host name or IP address', 'name': 'authentication_ldap_sasl_server_host'},
		{'caption': 'authentication_ldap_sasl_server_port', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': '389', 'minimum': '1', 'type': 'integer', 'maximum': '32376'}], 'description': 'LDAP server port number', 'name': 'authentication_ldap_sasl_server_port'},
		{'caption': 'authentication_ldap_sasl_tls', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to use encrypted connections to LDAP server', 'name': 'authentication_ldap_sasl_tls'},
		{'caption': 'authentication_ldap_sasl_user_search_attr', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'uid', 'type': 'string'}], 'description': 'LDAP server user search attribute', 'name': 'authentication_ldap_sasl_user_search_attr'},
		{'caption': 'authentication_ldap_simple_auth_method_name', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'SIMPLE', 'type': 'string'}], 'description': 'Authentication method name', 'name': 'authentication_ldap_simple_auth_method_name'},
		{'caption': 'authentication_ldap_simple_bind_base_dn', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'NULL', 'type': 'string'}], 'description': 'LDAP server base distinguished name', 'name': 'authentication_ldap_simple_bind_base_dn'},
		{'caption': 'authentication_ldap_simple_bind_root_dn', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'NULL', 'type': 'string'}], 'description': 'LDAP server root distinguished name', 'name': 'authentication_ldap_simple_bind_root_dn'},
		{'caption': 'authentication_ldap_simple_bind_root_pwd', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'NULL', 'type': 'string'}], 'description': 'LDAP server root bind password', 'name': 'authentication_ldap_simple_bind_root_pwd'},
		{'caption': 'authentication_ldap_simple_ca_path', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'NULL', 'type': 'string'}], 'description': 'LDAP server certificate authority file name', 'name': 'authentication_ldap_simple_ca_path'},
		{'caption': 'authentication_ldap_simple_group_search_attr', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'cn', 'type': 'string'}], 'description': 'LDAP server group search attribute', 'name': 'authentication_ldap_simple_group_search_attr'},
		{'caption': 'authentication_ldap_simple_group_search_filter', 'versions': [((5, 7, 21), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': '(|(&(objectClass=posixGroup)(memberUid=%s))(&(objectClass=group)(member=%s)))', 'type': 'string'}], 'description': 'LDAP custom group search filter', 'name': 'authentication_ldap_simple_group_search_filter'},
		{'caption': 'authentication_ldap_simple_init_pool_size', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': '10', 'minimum': '0', 'type': 'integer', 'maximum': '32767'}], 'description': 'LDAP server initial connection pool size', 'name': 'authentication_ldap_simple_init_pool_size'},
		{'caption': 'authentication_ldap_simple_log_status', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': '1', 'minimum': '1', 'type': 'integer', 'maximum': '5'}], 'description': 'LDAP server log level', 'name': 'authentication_ldap_simple_log_status'},
		{'caption': 'authentication_ldap_simple_max_pool_size', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': '1000', 'minimum': '0', 'type': 'integer', 'maximum': '32767'}], 'description': 'LDAP server maximum connection pool size', 'name': 'authentication_ldap_simple_max_pool_size'},
		{'caption': 'authentication_ldap_simple_server_host', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'LDAP server host name or IP address', 'name': 'authentication_ldap_simple_server_host'},
		{'caption': 'authentication_ldap_simple_server_port', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': '389', 'minimum': '1', 'type': 'integer', 'maximum': '32376'}], 'description': 'LDAP server port number', 'name': 'authentication_ldap_simple_server_port'},
		{'caption': 'authentication_ldap_simple_tls', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to use encrypted connections to LDAP server', 'name': 'authentication_ldap_simple_tls'},
		{'caption': 'authentication_ldap_simple_user_search_attr', 'versions': [((5, 7, 19), (8, 0, 11)), ((5, 7), (8, 0)), ()], 'values': [{'default': 'uid', 'type': 'string'}], 'description': 'LDAP server user search attribute', 'name': 'authentication_ldap_simple_user_search_attr'},
		{'caption': 'mysql_native_password_proxy_users', 'versions': [((5, 7, 7),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether the mysql_native_password authentication plugin does proxying', 'name': 'mysql_native_password_proxy_users'},
		{'caption': 'password_history', 'versions': [((8, 0, 3),), ((8, 0),), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Number of password changes required before password reuse', 'name': 'password_history'},
		{'caption': 'password_reuse_interval', 'versions': [((8, 0, 3),), ((8, 0),), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Number of days elapsed required before password reuse', 'name': 'password_reuse_interval'},
		{'optype': {'format': 'sha256_password_auto_generate_rsa_keys[={OFF|ON}]'}, 'description': 'Whether to autogenerate RSA key-pair files', 'versions': [((5, 7, 5),), ((5, 7), (8, 0)), ()], 'caption': 'sha256_password_auto_generate_rsa_keys', 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'sha256_password_auto_generate_rsa_keys'},
		{'caption': 'sha256_password_private_key_path', 'versions': [((5, 6, 6),), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': 'private_key.pem', 'type': 'filename'}], 'description': 'SHA256 authentication plugin private key path name', 'name': 'sha256_password_private_key_path'},
		{'caption': 'sha256_password_proxy_users', 'versions': [((5, 7, 7),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether the sha256_password authentication plugin does proxying', 'name': 'sha256_password_proxy_users'},
		{'caption': 'sha256_password_public_key_path', 'versions': [((5, 6, 6),), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': 'public_key.pem', 'type': 'filename'}], 'description': 'SHA256 authentication plugin public key path name', 'name': 'sha256_password_public_key_path'},
		{'caption': 'tls_version', 'versions': [((5, 7, 10),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'TLSv1,TLSv1.1,TLSv1.2', 'outversion': (8, 0, 4), 'type': 'string'}, {'default': 'TLSv1,TLSv1.1,TLSv1.2', 'inversion': (8, 0, 11), 'type': 'string'}], 'description': 'Protocols permitted for encrypted connections', 'name': 'tls_version'},
		{'caption': 'validate-password', 'versions': [((5, 6, 6),), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': 'ON', 'type': 'enum', 'choice': ['ON', 'OFF', 'FORCE', 'FORCE_PLUS_PERMANENT']}], 'description': 'Whether to activate the password validation plugin', 'name': 'validate-password'},
		{'caption': 'validate_password.check_user_name', 'versions': [((8, 0, 4),), ((8, 0),), ()], 'values': [{'default': 'off', 'on': 'on', 'outversion': (5, 7, 99), 'off': 'off', 'type': 'boolean'}, {'default': 'on', 'on': 'on', 'inversion': (8, 0, 0), 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to check passwords against user name', 'name': 'validate_password.check_user_name'},
		{'caption': 'validate_password_check_user_name', 'versions': [((5, 7, 15),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'outversion': (5, 7, 99), 'off': 'off', 'type': 'boolean'}, {'default': 'on', 'on': 'on', 'inversion': (8, 0, 0), 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to check passwords against user name', 'name': 'validate_password_check_user_name'}]),
	( '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), (8, 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, 7, 9), (8, 0, 11)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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, 7, 9), (8, 0, 11)), ((5, 5), (5, 6), (5, 7), (8, 0)), ()], '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': 'auto_generate_certs[={OFF|ON}]'}, 'description': 'Whether to autogenerate SSL key and certificate files', 'versions': [((5, 7, 5),), ((5, 7), (8, 0)), ()], 'caption': 'auto_generate_certs', 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'auto_generate_certs'},
		{'optype': {'format': 'block_encryption_mode=#'}, 'description': 'Mode for block-based encryption algorithms', 'versions': [((5, 6, 17), (5, 7, 4)), ((5, 6), (5, 7), (8, 0)), ()], 'caption': 'block_encryption_mode', 'values': [{'default': 'aes-128-ecb', 'type': 'string'}], 'name': 'block_encryption_mode'},
		{'optype': {'format': 'caching_sha2_password_auto_generate_rsa_keys[={OFF|ON}]'}, 'description': 'Whether to autogenerate RSA key-pair files', 'versions': [((8, 0, 4),), ((8, 0),), ()], 'caption': 'caching_sha2_password_auto_generate_rsa_keys', 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'caching_sha2_password_auto_generate_rsa_keys'},
		{'caption': 'caching_sha2_password_private_key_path', 'versions': [((8, 0, 3),), ((8, 0),), ()], 'values': [{'default': 'private_key.pem', 'type': 'filename'}], 'description': 'SHA2 authentication plugin private key path name', 'name': 'caching_sha2_password_private_key_path'},
		{'caption': 'caching_sha2_password_public_key_path', 'versions': [((8, 0, 3),), ((8, 0),), ()], 'values': [{'default': 'public_key.pem', 'type': 'filename'}], 'description': 'SHA2 authentication plugin public key path name', 'name': 'caching_sha2_password_public_key_path'},
		{'caption': 'des-key-file', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ((8, 0, 3),)], '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), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Prevent client updates except from clients with SUPER', 'name': 'read_only'},
		{'caption': 'require_secure_transport', 'versions': [((5, 7, 8),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether client connections must use secure transport', 'name': 'require_secure_transport'},
		{'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), (8, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Do not 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': 'schema_definition_cache', 'versions': [(), ((8, 0),), ()], 'values': [{'default': '256', 'minimum': '256', 'type': 'integer', 'maximum': '524288'}], 'description': 'Defines the number of schema definition objects that can be kept in the dictionary object cache', 'name': 'schema_definition_cache'},
		{'caption': 'secure-auth', 'versions': [((4, 1, 1),), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ((8, 0, 3),)], 'values': [{'default': 'off', 'on': 'on', 'outversion': (5, 6, 4), 'off': 'off', 'type': 'boolean'}, {'on': 'on', 'inversion': (5, 6, 5), 'off': 'off', 'default': 'on', 'outversion': (5, 6, 99), 'type': 'boolean'}, {'on': 'on', 'inversion': (5, 7, 0), 'off': 'off', 'default': 'on', 'outversion': (5, 7, 4), 'choice': ['off', 'on'], 'type': 'boolean'}, {'on': 'on', 'inversion': (5, 7, 5), 'off': 'off', 'default': 'on', 'choice': ['on'], '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), (8, 0)), ()], 'values': [{'default': '', 'outversion': (5, 5, 52), 'type': 'string', 'choice': ['empty string', 'dirname']}, {'default': 'platform specific', 'inversion': (5, 5, 53), 'type': 'string', 'outversion': (5, 5, 99), 'choice': ['empty string', 'dirname', 'NULL']}, {'default': '', 'inversion': (5, 6, 0), 'type': 'string', 'outversion': (5, 6, 33), 'choice': ['empty string', 'dirname']}, {'default': 'platform specific', 'inversion': (5, 6, 34), 'type': 'string', 'outversion': (5, 6, 99), 'choice': ['empty string', 'dirname', 'NULL']}, {'default': '', 'inversion': (5, 7, 0), 'type': 'string', 'outversion': (5, 7, 5), 'choice': ['empty string', 'dirname']}, {'default': 'platform specific', 'inversion': (5, 7, 6), 'type': 'string', 'choice': ['empty string', '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), (8, 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), (8, 0)), ()], 'values': [{'on': 'name', 'off': 'del', 'type': 'boolean'}], 'description': 'Do not allow SHOW DATABASE statements', 'name': 'skip-show-database'}])], 250),
( '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), (8, 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), (8, 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), (8, 0)), ()], 'values': [{'default': 'FILE', 'outversion': (8, 0, 1), 'type': 'string', 'choice': ['FILE', 'TABLE']}, {'default': 'TABLE', 'inversion': (8, 0, 2), '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), (8, 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), (8, 0)), ()], 'values': [{'default': 'relay-log.info', 'type': 'filedownload'}], 'description': 'The name of the file in which the replica 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), (8, 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), (8, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Whether automatic recovery of relay log files from source at startup is enabled; must be enabled for a crash-safe replica', '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), (8, 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), (8, 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), (8, 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'}]),
	( 'Replica', [
		{'caption': 'abort-slave-event-count', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 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), (8, 0)), ()], 'values': [{'default': '31536000', 'inversion': (5, 6, 13), 'minimum': '2', 'type': 'integer', 'maximum': '31536000'}], 'description': 'Set the number of seconds that STOP replica 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), (8, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'Show user name and password in SHOW replica HOSTS on this source ', '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), (8, 0)), ()], 'values': [{'default': '/tmp', 'type': 'dirname'}], 'description': 'The location where the replica 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), (8, 0)), ()], 'values': [{'default': '1073741824', 'minimum': '1024', 'type': 'integer', 'maximum': '1073741824'}], 'description': 'Maximum size, in bytes, of a packet that can be sent from a replication source to a replica; 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), (8, 0)), ()], 'values': [{'default': '3600', 'outversion': (5, 7, 6), '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 source/replica connection before aborting the read', 'name': 'slave-net-timeout'},
		{'caption': 'slave-parallel-type', 'versions': [((5, 7, 2),), ((5, 7), (8, 0)), ()], 'values': [{'default': 'DATABASE', 'type': 'enum', 'choice': ['DATABASE', 'LOGICAL_CLOCK']}], 'description': 'Tells the replica to use timestamp information (LOGICAL_CLOCK) or database partioning (DATABASE) to parallelize transactions. The default is LOGICAL_CLOCK.', 'name': 'slave-parallel-type'},
		{'caption': 'slave-parallel-workers', 'versions': [((5, 6, 3),), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '1024'}], 'description': 'Number of applier threads for executing replication transactions in parallel. The default is 4 applier threads. Set to 0 to disable replica multi-threading. Not supported by MySQL Cluster.', 'name': 'slave-parallel-workers'},
		{'caption': 'slave-rows-search-algorithms', 'versions': [((5, 6, 6),), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': 'TABLE_SCAN,INDEX_SCAN', 'outversion': (8, 0, 1), 'type': 'set', 'choice': ['TABLE_SCAN,INDEX_SCAN', 'INDEX_SCAN,HASH_SCAN', 'TABLE_SCAN,HASH_SCAN', 'TABLE_SCAN,INDEX_SCAN,HASH_SCAN']}, {'default': 'INDEX_SCAN,HASH_SCAN', 'inversion': (8, 0, 2), '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 replica update batching. Any 2 or 3 from the list INDEX_SEARCH, TABLE_SCAN, HASH_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), (8, 0)), ()], 'values': [], 'description': 'Tells the replica 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), (8, 0)), ()], 'values': [{'default': '1', 'on': '1', 'type': 'boolean', 'off': '0', 'choice': ['0', '1']}], 'description': 'Cause replica 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), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Turns update batching on and off for a replica', 'name': 'slave_allow_batching'},
		{'caption': 'slave_checkpoint_group', 'versions': [((5, 6, 3),), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '512', 'blocksize': '8', 'minimum': '32', 'type': 'integer', 'maximum': '524280'}], 'description': 'Maximum number of transactions processed by a multi-threaded replica before a checkpoint operation is called to update progress status. Not supported by NDB Cluster.', 'name': 'slave_checkpoint_group'},
		{'caption': 'slave_checkpoint_period', 'versions': [((5, 6, 3),), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '300', 'units': 'millisecond', 'minimum': '1', 'type': 'integer', 'maximum': '4G'}], 'description': 'Update progress status of multi-threaded replica and flush relay log info to disk after this number of milliseconds. Not supported by NDB Cluster.', '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), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Use compression on source/replica protocol', 'name': 'slave_compressed_protocol'},
		{'caption': 'slave_exec_mode', 'versions': [((5, 1, 23), (5, 1, 23), (5, 1, 24), (6, 0, 5)), ((5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'default': 'IDEMPOTENT', 'type': 'enum', 'choice': ['IDEMPOTENT', 'STRICT']}], 'description': 'Allows for switching the replica thread between IDEMPOTENT mode (key and some other errors suppressed) and STRICT mode; STRICT mode is the default, except for NDB 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), (8, 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 replica 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, 1, 44), (5, 1, 44), (5, 5, 3), (6, 0, 14)), ((5, 1), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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 replica. 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 source and replica.', 'name': 'slave_type_conversions'}]),
	( 'Source', [
		{'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 replica thread will sleep before retrying to connect to the source in case the source 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': 'Source 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), (8, 0)), ()], 'values': [{'default': 'master.info', 'type': 'filename'}], 'description': "The location and name of the file that remembers the source and where the I/O replication thread is in the source'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 replica thread will authenticate with when connecting to source ', '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 source 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), (8, 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 replica makes to connect to the source 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 replica to connect to the source 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': 'Source SSL Certificate Authority 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': 'Source SSL Certificate Authority 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': 'Source 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': 'Source 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': 'Source 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 replica thread will use for authentication when connecting to source . The user must have FILE privilege. If the source 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), (8, 0)), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Cause source 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), (8, 0)), ()], 'values': [{'default': 'FILE', 'outversion': (8, 0, 1), 'type': 'string', 'choice': ['FILE', 'TABLE']}, {'default': 'TABLE', 'inversion': (8, 0, 2), 'type': 'string', 'choice': ['FILE', 'TABLE']}], 'description': "Whether to write source status information and replication I/O thread location in the source'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), (8, 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'}]),
	( 'Group', [
		{'optype': {'format': 'group_replication_group_name=value'}, 'description': 'The name of the group', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_group_name', 'values': [{'type': 'string'}], 'name': 'group_replication_group_name'},
		{'optype': {'format': 'group_replication_start_on_boot=value'}, 'description': 'Whether the server should start Group Replication or not during server start', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_start_on_boot', 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'group_replication_start_on_boot'},
		{'optype': {'format': 'group_replication_local_address=value'}, 'description': 'The local address in host:port formatted string', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_local_address', 'values': [{'type': 'string'}], 'name': 'group_replication_local_address'},
		{'optype': {'format': 'group_replication_member_weight=value'}, 'description': 'Chance of this member being elected as primary', 'versions': [((8, 0, 2), (5, 7, 20)), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_member_weight', 'values': [{'default': '50', 'minimum': '0', 'type': 'integer', 'maximum': '100'}], 'name': 'group_replication_member_weight'},
		{'optype': {'format': 'group_replication_group_seeds=value'}, 'description': 'A list of peer addresses, comma separated list such as host1:port1,host2:port2', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_group_seeds', 'values': [{'type': 'string'}], 'name': 'group_replication_group_seeds'},
		{'optype': {'format': 'group_replication_force_members=value'}, 'description': 'A comma separated list of peer addresses, such as host1:port1,host2:port2', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_force_members', 'values': [{'type': 'string'}], 'name': 'group_replication_force_members'},
		{'optype': {'format': 'group_replication_bootstrap_group=value'}, 'description': 'Configure this server to bootstrap the group', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_bootstrap_group', 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'group_replication_bootstrap_group'},
		{'optype': {'format': 'group_replication_poll_spin_loops=value'}, 'description': 'The number of times the group communication thread waits', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_poll_spin_loops', 'values': [{'default': '0', 'bitsize': '32', 'minimum': '0', 'type': 'integer', 'maximum': '4294967295'}, {'default': '0', 'bitsize': '64', 'minimum': '0', 'type': 'integer', 'maximum': '18446744073709547520'}], 'name': 'group_replication_poll_spin_loops'},
		{'caption': 'group_replication_recovery_get_public_key', 'versions': [((8, 0, 4),), ((8, 0),), ()], 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'description': 'Whether to accept preference about fetching public key from source ', 'name': 'group_replication_recovery_get_public_key'},
		{'caption': 'group_replication_recovery_public_key_path', 'versions': [((8, 0, 4),), ((8, 0),), ()], 'values': [{'default': 'NULL', 'type': 'filename'}], 'description': 'To accept public key information', 'name': 'group_replication_recovery_public_key_path'},
		{'optype': {'format': 'group_replication_recovery_retry_count=value'}, 'description': 'The number of times that a joining member tries to connect to the available donors before giving up', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_recovery_retry_count', 'values': [{'default': '10', 'minimum': '0', 'type': 'integer', 'maximum': '31536000'}], 'name': 'group_replication_recovery_retry_count'},
		{'optype': {'format': 'group_replication_recovery_reconnect_interval=value'}, 'description': 'The sleep time, in seconds, between reconnection attempts when no donor was found in the group', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_recovery_reconnect_interval', 'values': [{'default': '60', 'minimum': '0', 'type': 'integer', 'maximum': '0'}], 'name': 'group_replication_recovery_reconnect_interval'},
		{'optype': {'format': 'group_replication_recovery_use_ssl=value'}, 'description': 'Whether Group Replication recovery connection should use SSL', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_recovery_use_ssl', 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'group_replication_recovery_use_ssl'},
		{'optype': {'format': 'group_replication_recovery_ssl_ca=value'}, 'description': 'File that contains list of trusted SSL Certificate Authorities', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_recovery_ssl_ca', 'values': [{'type': 'string'}], 'name': 'group_replication_recovery_ssl_ca'},
		{'optype': {'format': 'group_replication_recovery_ssl_capath=value'}, 'description': 'Directory that contains trusted SSL Certificate Authority certificate files', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_recovery_ssl_capath', 'values': [{'type': 'string'}], 'name': 'group_replication_recovery_ssl_capath'},
		{'optype': {'format': 'group_replication_recovery_ssl_cert=value'}, 'description': 'Name of SSL certificate file to use for establishing encrypted connection', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_recovery_ssl_cert', 'values': [{'type': 'string'}], 'name': 'group_replication_recovery_ssl_cert'},
		{'optype': {'format': 'group_replication_recovery_ssl_key=value'}, 'description': 'Name of SSL key file to use for establishing encrypted connection', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_recovery_ssl_key', 'values': [{'type': 'string'}], 'name': 'group_replication_recovery_ssl_key'},
		{'optype': {'format': 'group_replication_recovery_ssl_cipher=value'}, 'description': 'List of permitted ciphers for SSL encryption', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_recovery_ssl_cipher', 'values': [{'type': 'string'}], 'name': 'group_replication_recovery_ssl_cipher'},
		{'optype': {'format': 'group_replication_recovery_ssl_crl=value'}, 'description': 'File that contains certificate revocation lists', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_recovery_ssl_crl', 'values': [{'type': 'string'}], 'name': 'group_replication_recovery_ssl_crl'},
		{'optype': {'format': 'group_replication_recovery_ssl_crlpath=value'}, 'description': 'Directory that contains certificate revocation list files', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_recovery_ssl_crlpath', 'values': [{'type': 'string'}], 'name': 'group_replication_recovery_ssl_crlpath'},
		{'optype': {'format': 'group_replication_recovery_ssl_verify_server_cert=value'}, 'description': "Make the recovery process check the server's Common Name value in the donor sent certificate", 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_recovery_ssl_verify_server_cert', 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'group_replication_recovery_ssl_verify_server_cert'},
		{'optype': {'format': 'group_replication_recovery_complete_at=value'}, 'description': 'Recovery policies when handling cached transactions after state transfer', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_recovery_complete_at', 'values': [{'default': 'TRANSACTIONS_APPLIED', 'type': 'enum', 'choice': ['TRANSACTIONS_CERTIFIED', 'TRANSACTIONS_APPLIED']}], 'name': 'group_replication_recovery_complete_at'},
		{'optype': {'format': 'group_replication_communication_debug_options=value'}, 'description': 'The level of debugging messages for Group Replication components.', 'versions': [((8, 0, 3),), ((8, 0),), ()], 'caption': 'group_replication_communication_debug_options', 'values': [{'default': 'GCS_DEBUG_NONE', 'type': 'string', 'choice': ['GCS_DEBUG_NONE', 'GCS_DEBUG_BASIC', 'GCS_DEBUG_TRACE', 'XCOM_DEBUG_BASIC', 'XCOM_DEBUG_TRACE', 'GCS_DEBUG_ALL']}], 'name': 'group_replication_communication_debug_options'},
		{'optype': {'format': 'group_replication_components_stop_timeout=value'}, 'description': 'Timeout, in seconds, that the plugin waits for each of the components when shutting down', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_components_stop_timeout', 'values': [{'default': '31536000', 'type': 'integer'}], 'name': 'group_replication_components_stop_timeout'},
		{'optype': {'format': 'group_replication_allow_local_lower_version_join=value'}, 'description': 'Allow the current server to join the group even if it has a lower plugin version than the group', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_allow_local_lower_version_join', 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'group_replication_allow_local_lower_version_join'},
		{'optype': {'format': 'group_replication_allow_local_disjoint_gtids_join=value'}, 'description': 'Allow the current server to join the group even if it has transactions not present in the group', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ((8, 0, 4),)], 'caption': 'group_replication_allow_local_disjoint_gtids_join', 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'group_replication_allow_local_disjoint_gtids_join'},
		{'optype': {'format': 'group_replication_auto_increment_increment=value'}, 'description': 'Determines the interval between successive column values for transactions that execute on this server', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_auto_increment_increment', 'values': [{'default': '7', 'minimum': '1', 'type': 'integer', 'maximum': '65535'}], 'name': 'group_replication_auto_increment_increment'},
		{'optype': {'format': 'group_replication_compression_threshold=value'}, 'description': 'The value in bytes above which (LZ4) compression is enforced; when set to zero, deactivates compression', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_compression_threshold', 'values': [{'default': '1000000', 'minimum': '0', 'type': 'integer', 'maximum': '4294967296'}], 'name': 'group_replication_compression_threshold'},
		{'optype': {'format': 'group_replication_gtid_assignment_block_size=value'}, 'description': 'The number of consecutive GTIDs that are reserved for each member; each member consumes its blocks and reserve more when needed', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_gtid_assignment_block_size', 'values': [{'default': '1000000', 'bitsize': '32', 'minimum': '1', 'type': 'integer', 'maximum': '4294967295'}, {'default': '1000000', 'bitsize': '64', 'minimum': '1', 'type': 'integer', 'maximum': '18446744073709547520'}], 'name': 'group_replication_gtid_assignment_block_size'},
		{'optype': {'format': 'group_replication_ssl_mode=value'}, 'description': 'Specifies the security state of the connection between Group Replication members', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_ssl_mode', 'values': [{'default': 'DISABLED', 'type': 'enum', 'choice': ['DISABLED', 'REQUIRED', 'VERIFY_CA', 'VERIFY_IDENTITY']}], 'name': 'group_replication_ssl_mode'},
		{'optype': {'format': 'group_replication_single_primary_mode=value'}, 'description': 'Instructs the group to use a single server for the read/write workload', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_single_primary_mode', 'values': [{'default': 'on', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'group_replication_single_primary_mode'},
		{'optype': {'format': 'group_replication_transaction_size_limit=value'}, 'description': 'Sets the maximum size of transaction in bytes which the group accepts', 'versions': [((5, 7, 19),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_transaction_size_limit', 'values': [{'default': '0', 'inversion': (5, 7, 19), 'minimum': '0', 'type': 'integer', 'maximum': '2147483647'}, {'default': '150000000', 'inversion': (8, 0, 2), 'minimum': '0', 'type': 'integer', 'maximum': '2147483647'}], 'name': 'group_replication_transaction_size_limit'},
		{'optype': {'format': 'group_replication_unreachable_majority_timeout=value'}, 'description': 'How long to wait for network partitions that result in a minority to leave the group', 'versions': [((5, 7, 19), (8, 0, 2)), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_unreachable_majority_timeout', 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '31536000'}], 'name': 'group_replication_unreachable_majority_timeout'},
		{'optype': {'format': 'group_replication_enforce_update_everywhere_checks=value'}, 'description': 'Enable or disable strict consistency checks for multi-master update everywhere', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_enforce_update_everywhere_checks', 'values': [{'default': 'off', 'on': 'on', 'off': 'off', 'type': 'boolean'}], 'name': 'group_replication_enforce_update_everywhere_checks'},
		{'optype': {'format': 'group_replication_flow_control_mode=value'}, 'description': 'Specifies the mode used for flow control', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_flow_control_mode', 'values': [{'default': 'QUOTA', 'type': 'enum', 'choice': ['DISABLED', 'QUOTA']}], 'name': 'group_replication_flow_control_mode'},
		{'optype': {'format': 'group_replication_flow_control_certifier_threshold=value'}, 'description': 'Specifies the number of waiting transactions in the certifier queue that trigger flow control', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_flow_control_certifier_threshold', 'values': [{'default': '25000', 'minimum': '0', 'type': 'integer', 'maximum': '2147483648'}], 'name': 'group_replication_flow_control_certifier_threshold'},
		{'optype': {'format': 'group_replication_flow_control_applier_threshold=value'}, 'description': 'The number of waiting transactions in the applier queue that trigger flow control', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_flow_control_applier_threshold', 'values': [{'default': '25000', 'minimum': '0', 'type': 'integer', 'maximum': '2147483648'}], 'name': 'group_replication_flow_control_applier_threshold'},
		{'optype': {'format': 'group_replication_flow_control_hold_percent=value'}, 'description': 'Defines what percentage of the group quota remains unused', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'caption': 'group_replication_flow_control_hold_percent', 'values': [{'default': '10', 'minimum': '0', 'type': 'integer', 'maximum': '100'}], 'name': 'group_replication_flow_control_hold_percent'},
		{'optype': {'format': 'group_replication_flow_control_max_commit_quota=value'}, 'description': 'Defines the maximum flow control quota of the group', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'caption': 'group_replication_flow_control_max_commit_quota', 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '2147483648'}], 'name': 'group_replication_flow_control_max_commit_quota'},
		{'optype': {'format': 'group_replication_flow_control_member_quota_percent=value'}, 'description': 'Defines the percentage of the quota that a member should assume is available for itself when calculating the quotas', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'caption': 'group_replication_flow_control_member_quota_percent', 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '100'}], 'name': 'group_replication_flow_control_member_quota_percent'},
		{'optype': {'format': 'group_replication_flow_control_min_quota=value'}, 'description': 'Controls the lowest flow control quota that can be assigned to a member', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'caption': 'group_replication_flow_control_min_quota', 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '2147483648'}], 'name': 'group_replication_flow_control_min_quota'},
		{'optype': {'format': 'group_replication_flow_control_min_recovery_quota=value'}, 'description': 'Controls the lowest quota that can be assigned to a member because of another recovering member in the group', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'caption': 'group_replication_flow_control_min_recovery_quota', 'values': [{'default': '0', 'minimum': '0', 'type': 'integer', 'maximum': '2147483648'}], 'name': 'group_replication_flow_control_min_recovery_quota'},
		{'optype': {'format': 'group_replication_flow_control_period=value'}, 'description': 'Defines how many seconds to wait between flow control iterations', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'caption': 'group_replication_flow_control_period', 'values': [{'default': '1', 'minimum': '1', 'type': 'integer', 'maximum': '60'}], 'name': 'group_replication_flow_control_period'},
		{'optype': {'format': 'group_replication_flow_control_release_percent=value'}, 'description': 'Defines how the group quota should be released when flow control no longer needs to throttle the writer members', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'caption': 'group_replication_flow_control_release_percent', 'values': [{'default': '50', 'minimum': '0', 'type': 'integer', 'maximum': '1000'}], 'name': 'group_replication_flow_control_release_percent'},
		{'optype': {'format': 'group_replication_ip_whitelist=value'}, 'description': 'The list of hosts permitted to connect to the group', 'versions': [((5, 7, 17),), ((5, 7), (8, 0)), ()], 'caption': 'group_replication_ip_whitelist', 'values': [{'default': 'AUTOMATIC', 'type': 'string'}], 'name': 'group_replication_ip_whitelist'}]),
	( '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Tells the replica 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), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Tells the replica 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), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Tells the replica 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), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Tells the replica 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), (8, 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), (8, 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), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Tells the replica 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), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Tells the replica 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), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'Host name or IP of the replica to be reported to the source during replica registration', 'name': 'report-host'},
		{'caption': 'report-password', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'An arbitrary password that the replica server should report to the source . 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), (8, 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 replica reported to the source during replica registration', 'name': 'report-port'},
		{'caption': 'report-user', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'type': 'string'}], 'description': 'An arbitrary user name that a replica server should report to the source . Not the same as the name used with the MySQL replication user account.', 'name': 'report-user'},
		{'caption': 'rpl_read_size', 'versions': [((8, 0, 11),), ((8, 0),), ()], 'values': [{'default': '8192', 'minimum': '8192', 'type': 'integer', 'maximum': '4294967295'}], 'description': 'Set the minimum amount of data in bytes that is read from the binary log files and relay log files', 'name': 'rpl_read_size'},
		{'caption': 'skip-slave-start', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'If set, replica is not autostarted', 'name': 'skip-slave-start'}])], 250),
( 'MyISAM', [
	( 'Advanced Settings', [
		{'caption': 'myisam-block-size', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 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), (8, 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), (8, 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), (8, 0)), ()], 'values': [{'default': '2147483648', 'bitsize': '32', 'type': 'integer'}, {'default': '9223372036854775807', 'bitsize': '64', 'type': 'integer'}], 'description': 'Do not 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), (8, 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), (8, 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), (8, 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'}, {'outversion': (5, 1, 99), 'default': '8388608', 'maximum': '4294967295', 'platform': 'windows', 'minimum': '4096', 'type': 'integer'}, {'inversion': (5, 5, 0), 'default': '8388608', 'bitsize': '32', 'maximum': '4294967295', 'platform': 'windows', 'minimum': '4096', 'type': 'integer'}, {'platform': 'windows', 'inversion': (5, 5, 0), 'minimum': '4096', 'default': '8388608', 'bitsize': '64', 'type': 'integer', 'maximum': '4294967295', 'outversion': (5, 5, 21)}, {'platform': 'windows', 'inversion': (5, 5, 22), 'minimum': '4096', 'default': '8388608', 'bitsize': '64', 'type': 'integer', 'maximum': '18446744073709551615', 'outversion': (5, 5, 99)}, {'platform': 'windows', 'inversion': (5, 6, 0), 'minimum': '4096', 'default': '8388608', 'bitsize': '64', 'type': 'integer', 'maximum': '4294967295', 'outversion': (5, 6, 4)}, {'inversion': (5, 6, 5), 'default': '8388608', 'bitsize': '64', 'maximum': '18446744073709551615', 'platform': 'windows', 'minimum': '4096', 'type': 'integer'}], '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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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), (8, 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', 'outversion': (6, 0, 99), '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), (8, 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), (8, 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), (8, 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'}])], 200),
( 'Performance', [
	( 'Query cache', [
		{'caption': 'query_cache_limit', 'versions': [(), ((4, 1), (5, 0), (5, 1), (5, 4), (5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ((8, 0, 3),)], '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': 'Do not 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), (8, 0)), ((8, 0, 3),)], '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), (8, 0)), ((8, 0, 3),)], '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', 'outversion': (8, 0, 0), 'minimum': '0', 'type': 'integer'}, {'inversion': (8, 0, 1), 'default': '0', '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', 'outversion': (8, 0, 0), 'minimum': '0', 'type': 'integer'}, {'inversion': (8, 0, 1), 'default': '0', '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), (8, 0)), ((8, 0, 3),)], '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), (8, 0)), ((8, 0, 3),)], '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': 'histogram_generation_max_mem_size', 'versions': [((8, 0, 2),), ((8, 0),), ()], 'values': [{'default': '20000000', 'bitsize': '32', 'minimum': '1000000', 'type': 'integer', 'maximum': '4294967295'}, {'default': '20000000', 'bitsize': '64', 'minimum': '1000000', 'type': 'integer', 'maximum': '18446744073709551615'}], 'description': 'Maximum memory for creating histogram statistics', 'name': 'histogram_generation_max_mem_size'},
		{'caption': 'information_schema_stats_expiry', 'versions': [((8, 0, 3),), ((8, 0),), ()], 'values': [{'default': '86400', 'minimum': '0', 'type': 'integer', 'maximum': '31536000'}], 'description': 'Expiration setting for cached table statistics', 'name': 'information_schema_stats_expiry'},
		{'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'}, {'inversion': (6, 0, 14), 'default': '1', 'maximum': '8', 'outversion': (6, 0, 99), 'minimum': '0', 'type': 'integer'}], '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), (8, 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), (8, 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'}, {'inversion': (6, 0, 14), 'default': '62', 'maximum': '62', 'outversion': (6, 0, 99), 'minimum': '0', 'type': 'integer'}], '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), (8, 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', 'outversion': (5, 7, 7), '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}']}, {'inversion': (5, 7, 8), 'type': 'set', 'outversion': (8, 0, 2), 'choice': ['batched_key_access={on|off}', 'block_nested_loop={on|off}', 'condition_fanout_filter={on|off}', 'derived_merge={on|off}', 'duplicateweedout={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': (8, 0, 3), 'type': 'set', 'choice': ['batched_key_access={on|off}', 'block_nested_loop={on|off}', 'condition_fanout_filter={on|off}', 'derived_merge={on|off}', 'duplicateweedout={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}', 'use_invisible_indexes={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', 'outversion': (6, 0, 99), '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [], 'description': 'Configure thread-instrumentation consumer', 'name': 'performance-schema-consumer-thread-instrumentation'},
		{'caption': 'performance-schema-instrument', 'versions': [((5, 6, 4),), ((5, 6), (5, 7), (8, 0)), ()], '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), (8, 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), (8, 0)), ()], '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), (8, 0)), ()], '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_error_size', 'versions': [(), ((8, 0),), ()], 'values': [{'default': 'number of server error codes', 'minimum': '0', 'type': 'integer', 'maximum': '1048576'}], 'description': 'Number of instrumented errors', 'name': 'performance_schema_error_size'},
		{'caption': 'performance_schema_events_stages_history_long_size', 'versions': [((5, 6, 3),), ((5, 6), (5, 7), (8, 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_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), (8, 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_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), (8, 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_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), (8, 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_statements_history table', 'name': 'performance_schema_events_statements_history_size'},
		{'caption': 'performance_schema_events_transactions_history_long_size', 'versions': [((5, 7, 3),), ((5, 7), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 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), (8, 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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'default': '80', 'outversion': (8, 0, 11), 'minimum': '0', 'type': 'integer', 'maximum': '256'}, {'default': '80', 'inversion': (8, 0, 12), 'minimum': '0', 'type': 'integer', 'maximum': '1024'}], '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), (8, 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_digest_length', 'versions': [((5, 6, 26), (5, 7, 8)), ((5, 6), (5, 7), (8, 0)), ()], 'values': [{'default': '1024', 'minimum': '0', 'type': 'integer', 'maximum': '1048576'}], 'description': 'The maximum Performance Schema digest size in bytes', 'name': 'performance_schema_max_digest_length'},
		{'caption': 'performance_schema_max_digest_sample_age', 'versions': [((8, 0, 3),), ((8, 0),), ()], 'values': [{'default': '60', 'minimum': '0', 'type': 'integer', 'maximum': '1048576'}], 'description': 'The query resample age in seconds', 'name': 'performance_schema_max_digest_sample_age'},
		{'caption': 'performance_schema_max_file_classes', 'versions': [((5, 5, 3), (6, 0, 14)), ((5, 5), (5, 6), (5, 7), (6, 0), (8, 0)), ()], 'values': [{'default': '50', 'outversion': (5, 7, 8), 'minimum': '0', 'type': 'integer', 'maximum': '256'}, {'inversion': (5, 7, 9), 'default': '80', 'maximum': '256', 'outversion': (8, 0, 11), 'minimum': '0', 'type': 'integer'}, {'default': '80', 'inversion': (8, 0, 12), 'minimum': '0', 'type': 'integer', 'maximum': '1024'}], '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), (8, 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), (8, 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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'default': '250', 'outversion': (5, 7, 4), 'type': 'integer'}, {'default': '320', 'inversion': (5, 7, 5), 'type': 'integer', 'outversion': (5, 7, 99)}, {'default': '350', 'inversion': (8, 0, 0), 'type': 'integer', 'outversion': (8, 0, 0)}, {'default': '450', 'inversion': (8, 0, 1), '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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'default': '200', 'outversion': (8, 0, 0), 'minimum': '0', 'type': 'integer', 'maximum': '256'}, {'inversion': (8, 0, 1), 'default': '220', 'maximum': '256', 'outversion': (8, 0, 2), 'minimum': '0', 'type': 'integer'}, {'inversion': (8, 0, 3), 'default': '250', 'maximum': '256', 'outversion': (8, 0, 11), 'minimum': '0', 'type': 'integer'}, {'default': '300', 'inversion': (8, 0, 12), 'minimum': '0', 'type': 'integer', 'maximum': '1024'}], '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), (8, 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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'default': '20', 'outversion': (5, 5, 6), 'minimum': '0', 'type': 'integer', 'maximum': '256'}, {'inversion': (5, 5, 7), 'default': '30', 'maximum': '256', 'outversion': (5, 5, 99), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 0), 'default': '20', 'maximum': '256', 'outversion': (5, 6, 0), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 1), 'default': '30', 'maximum': '256', 'outversion': (5, 6, 14), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 6, 15), 'default': '40', 'maximum': '256', 'outversion': (5, 6, 99), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 7, 0), 'default': '30', 'maximum': '256', 'outversion': (5, 7, 2), 'minimum': '0', 'type': 'integer'}, {'inversion': (5, 7, 3), 'default': '40', 'maximum': '256', 'outversion': (8, 0, 11), 'minimum': '0', 'type': 'integer'}, {'default': '40', 'inversion': (8, 0, 12), 'minimum': '0', 'type': 'integer', 'maximum': '1024'}, {'inversion': (6, 0, 0), 'default': '20', 'maximum': '256', 'outversion': (6, 0, 99), 'minimum': '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), (8, 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), (8, 0)), ()], 'values': [{'default': '10', 'outversion': (8, 0, 11), 'minimum': '0', 'type': 'integer', 'maximum': '256'}, {'default': '10', 'inversion': (8, 0, 12), 'minimum': '0', 'type': 'integer', 'maximum': '1024'}], '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), (8, 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 socket objects', 'name': 'performance_schema_max_socket_instances'},
		{'caption': 'performance_schema_max_sql_text_length', 'versions': [((5, 7, 6),), ((5, 7), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'default': '150', 'outversion': (8, 0, 11), 'minimum': '0', 'type': 'integer', 'maximum': '256'}, {'default': '150', 'inversion': (8, 0, 12), 'minimum': '0', 'type': 'integer', 'maximum': '1024'}], '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), (8, 0)), ()], '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), (8, 0)), ()], '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), (8, 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), (8, 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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'default': '50', 'outversion': (8, 0, 2), 'minimum': '0', 'type': 'integer', 'maximum': '256'}, {'inversion': (8, 0, 3), 'default': '100', 'maximum': '256', 'outversion': (8, 0, 11), 'minimum': '0', 'type': 'integer'}, {'default': '100', 'inversion': (8, 0, 12), 'minimum': '0', 'type': 'integer', 'maximum': '1024'}], '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), (8, 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), (8, 0)), ()], '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), (8, 0)), ()], 'values': [{'default': '100', 'outversion': (5, 7, 5), 'type': 'integer'}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), '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), (8, 0)), ()], 'values': [{'default': '100', 'outversion': (5, 7, 5), 'type': 'integer'}, {'default': '-1 (autoscaled)', 'inversion': (5, 7, 6), '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), (8, 0)), ()], '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), (8, 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), (8, 0)), ()], 'values': [{'default': 'false', 'on': 'true', 'off': 'false', 'type': 'boolean'}], 'description': 'INSERT/DELETE/UPDATE has lower priority than selects', 'name': 'low-priority-updates'},
])], 410),
]
