github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/apecloud-mysql/config/mysql8-config-constraint.cue (about)

     1  //Copyright (C) 2022-2023 ApeCloud Co., Ltd
     2  //
     3  //This file is part of KubeBlocks project
     4  //
     5  //This program is free software: you can redistribute it and/or modify
     6  //it under the terms of the GNU Affero General Public License as published by
     7  //the Free Software Foundation, either version 3 of the License, or
     8  //(at your option) any later version.
     9  //
    10  //This program is distributed in the hope that it will be useful
    11  //but WITHOUT ANY WARRANTY; without even the implied warranty of
    12  //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    13  //GNU Affero General Public License for more details.
    14  //
    15  //You should have received a copy of the GNU Affero General Public License
    16  //along with this program.  If not, see <http://www.gnu.org/licenses/>.
    17  
    18  #MysqlParameter: {
    19  
    20  	// reference aws rds params: https://console.amazonaws.cn/rds/home?region=cn-north-1#parameter-groups-detail:ids=default.mysql8.0;type=DbParameterGroup;editing=false
    21  	// auto generate by cue_generate.go
    22  
    23  	// Automatically set all granted roles as active after the user has authenticated successfully.
    24  	activate_all_roles_on_login: string & "0" | "1" | "OFF" | "ON" | *"0"
    25  
    26  	// Controls whether user-defined functions that have only an xxx symbol for the main function can be loaded
    27  	"allow-suspicious-udfs"?: string & "0" | "1" | "OFF" | "ON"
    28  
    29  	// Sets the autocommit mode
    30  	autocommit?: string & "0" | "1" | "OFF" | "ON"
    31  
    32  	// Controls whether the server autogenerates SSL key and certificate files in the data directory, if they do not already exist.
    33  	auto_generate_certs?: string & "0" | "1" | "OFF" | "ON"
    34  
    35  	// Intended for use with master-to-master replication, and can be used to control the operation of AUTO_INCREMENT columns
    36  	auto_increment_increment?: int & >=1 & <=65535
    37  
    38  	// Determines the starting point for the AUTO_INCREMENT column value
    39  	auto_increment_offset?: int & >=1 & <=65535
    40  
    41  	// When this variable has a value of 1 (the default), the server automatically grants the EXECUTE and ALTER ROUTINE privileges to the creator of a stored routine, if the user cannot already execute and alter or drop the routine.
    42  	automatic_sp_privileges?: string & "0" | "1" | "OFF" | "ON"
    43  
    44  	// This variable controls whether ALTER TABLE implicitly upgrades temporal columns found to be in pre-5.6.4 format.
    45  	avoid_temporal_upgrade?: string & "0" | "1" | "OFF" | "ON"
    46  
    47  	// The number of outstanding connection requests MySQL can have
    48  	back_log?: int & >=1 & <=65535
    49  
    50  	// The MySQL installation base directory.
    51  	basedir?: string
    52  
    53  	big_tables: string & "0" | "1" | "OFF" | "ON" | *"0"
    54  
    55  	bind_address?: string
    56  
    57  	// The size of the cache to hold the SQL statements for the binary log during a transaction.
    58  	binlog_cache_size: int & >=4096 & <=18446744073709547520 | *32768
    59  
    60  	// When enabled, this variable causes the master to write a checksum for each event in the binary log.
    61  	binlog_checksum?: string & "NONE" | "CRC32"
    62  
    63  	binlog_direct_non_transactional_updates: string & "0" | "1" | "OFF" | "ON" | *"0"
    64  
    65  	// Controls what happens when the server cannot write to the binary log.
    66  	binlog_error_action?: string & "IGNORE_ERROR" | "ABORT_SERVER"
    67  
    68  	// If non-zero, binary logs will be purged after expire_logs_days days; If this option alone is set on the command line or in a configuration file, it overrides the default value for binlog-expire-logs-seconds. If both options are set to nonzero values, binlog-expire-logs-seconds takes priority. Possible purges happen at startup and at binary log rotation.
    69  	binlog_expire_logs_seconds: int & >=0 & <=4294967295 | *2592000
    70  
    71  	// Row-based, Statement-based or Mixed replication
    72  	binlog_format?: string & "ROW" | "STATEMENT" | "MIXED" | "row" | "statement" | "mixed"
    73  
    74  	// Controls how many microseconds the binary log commit waits before synchronizing the binary log file to disk.
    75  	binlog_group_commit_sync_delay?: int & >=0 & <=1000000
    76  
    77  	// The maximum number of transactions to wait for before aborting the current delay as specified by binlog-group-commit-sync-delay.
    78  	binlog_group_commit_sync_no_delay_count?: int & >=0 & <=1000000
    79  
    80  	// Controls how binary logs are iterated during GTID recovery
    81  	binlog_gtid_simple_recovery?: string & "0" | "1" | "OFF" | "ON"
    82  
    83  	// How long in microseconds to keep reading transactions from the flush queue before proceeding with the group commit (and syncing the log to disk, if sync_binlog is greater than 0). If the value is 0 (the default), there is no timeout and the server keeps reading new transactions until the queue is empty.
    84  	binlog_max_flush_queue_time?: int & >=0 & <=100000
    85  
    86  	// If this variable is enabled (the default), transactions are committed in the same order they are written to the binary log. If disabled, transactions may be committed in parallel.
    87  	binlog_order_commits?: string & "0" | "1" | "OFF" | "ON"
    88  
    89  	// Whether the server logs full or minimal rows with row-based replication.
    90  	binlog_row_image?: string & "FULL" | "MINIMAL" | "NOBLOB" | "full" | "minimal" | "noblob"
    91  
    92  	// Controls whether metadata is logged using FULL or MINIMAL format. FULL causes all metadata to be logged; MINIMAL means that only metadata actually required by slave is logged. Default: MINIMAL.
    93  	binlog_row_metadata?: string & "FULL" | "MINIMAL" | "full" | "minimal"
    94  
    95  	// When enabled, it causes a MySQL 5.6.2 or later server to write informational log events such as row query log events into its binary log.
    96  	binlog_rows_query_log_events?: string & "0" | "1" | "OFF" | "ON"
    97  
    98  	// When set to PARTIAL_JSON, this option enables a space-efficient row-based binary log format for UPDATE statements that modify a JSON value using only the functions JSON_SET, JSON_REPLACE, and JSON_REMOVE. For such updates, only the modified parts of the JSON document are included in the binary log, so small changes of big documents may need significantly less space.
    99  	binlog_row_value_options?: string & "PARTIAL_JSON"
   100  
   101  	// This variable determines the size of the cache for the binary log to hold nontransactional statements issued during a transaction.
   102  	binlog_stmt_cache_size?: int & >=4096 & <=18446744073709547520
   103  
   104  	// Maximum number of rows to keep in the writeset history.
   105  	binlog_transaction_dependency_history_size?: int & >=1 & <=1000000
   106  
   107  	// Selects the source of dependency information from which to assess which transactions can be executed in parallel by the slave's multi-threaded applier. Possible values are COMMIT_ORDER, WRITESET and WRITESET_SESSION.
   108  	binlog_transaction_dependency_tracking?: string & "COMMIT_ORDER" | "WRITESET" | "WRITESET_SESSION"
   109  
   110  	// This variable controls the block encryption mode for block-based algorithms such as AES. It affects encryption for AES_ENCRYPT() and AES_DECRYPT().
   111  	block_encryption_mode?: string & "aes-128-ecb" | "aes-192-ecb" | "aes-256-ecb" | "aes-128-cbc" | "aes-192-cbc" | "aes-256-cbc"
   112  
   113  	// Limits the size of the MyISAM cache tree in bytes per thread.
   114  	bulk_insert_buffer_size?: int & >=0 & <=18446744073709547520
   115  
   116  	// Auto generate RSA keys at server startup if corresponding system variables are not specified and key files are not present at the default location.
   117  	caching_sha2_password_auto_generate_rsa_keys: string & "0" | "1" | "OFF" | "ON" | *"1"
   118  
   119  	// A fully qualified path to the private RSA key used for authentication.
   120  	caching_sha2_password_private_key_path?: string
   121  
   122  	// A fully qualified path to the public RSA key used for authentication.
   123  	caching_sha2_password_public_key_path?: string
   124  
   125  	// The character set for statements that arrive from the client.
   126  	character_set_client?: string & "big5" | "dec8" | "cp850" | "hp8" | "koi8r" | "latin1" | "latin2" | "swe7" | "ascii" | "ujis" | "sjis" | "hebrew" | "tis620" | "euckr" | "koi8u" | "gb2312" | "greek" | "cp1250" | "gbk" | "latin5" | "armscii8" | "utf8" | "cp866" | "keybcs2" | "macce" | "macroman" | "cp852" | "latin7" | "utf8mb4" | "cp1251" | "cp1256" | "cp1257" | "binary" | "geostd8" | "cp932" | "eucjpms"
   127  
   128  	// Don't ignore character set information sent by the client.
   129  	"character-set-client-handshake"?: string & "0" | "1" | "OFF" | "ON"
   130  
   131  	// The character set used for literals that do not have a character set introducer and for number-to-string conversion.
   132  	character_set_connection?: string & "big5" | "dec8" | "cp850" | "hp8" | "koi8r" | "latin1" | "latin2" | "swe7" | "ascii" | "ujis" | "sjis" | "hebrew" | "tis620" | "euckr" | "koi8u" | "gb2312" | "greek" | "cp1250" | "gbk" | "latin5" | "armscii8" | "utf8" | "ucs2" | "cp866" | "keybcs2" | "macce" | "macroman" | "cp852" | "latin7" | "utf8mb4" | "cp1251" | "utf16" | "cp1256" | "cp1257" | "utf32" | "binary" | "geostd8" | "cp932" | "eucjpms"
   133  
   134  	// The character set used by the default database.
   135  	character_set_database?: string & "big5" | "dec8" | "cp850" | "hp8" | "koi8r" | "latin1" | "latin2" | "swe7" | "ascii" | "ujis" | "sjis" | "hebrew" | "tis620" | "euckr" | "koi8u" | "gb2312" | "greek" | "cp1250" | "gbk" | "latin5" | "armscii8" | "utf8" | "ucs2" | "cp866" | "keybcs2" | "macce" | "macroman" | "cp852" | "latin7" | "utf8mb4" | "cp1251" | "utf16" | "cp1256" | "cp1257" | "utf32" | "binary" | "geostd8" | "cp932" | "eucjpms"
   136  
   137  	// The file system character set.
   138  	character_set_filesystem?: string & "big5" | "dec8" | "cp850" | "hp8" | "koi8r" | "latin1" | "latin2" | "swe7" | "ascii" | "ujis" | "sjis" | "hebrew" | "tis620" | "euckr" | "koi8u" | "gb2312" | "greek" | "cp1250" | "gbk" | "latin5" | "armscii8" | "utf8" | "ucs2" | "cp866" | "keybcs2" | "macce" | "macroman" | "cp852" | "latin7" | "utf8mb4" | "cp1251" | "utf16" | "cp1256" | "cp1257" | "utf32" | "binary" | "geostd8" | "cp932" | "eucjpms"
   139  
   140  	// The character set used for returning query results to the client.
   141  	character_set_results?: string & "big5" | "dec8" | "cp850" | "hp8" | "koi8r" | "latin1" | "latin2" | "swe7" | "ascii" | "ujis" | "sjis" | "hebrew" | "tis620" | "euckr" | "koi8u" | "gb2312" | "greek" | "cp1250" | "gbk" | "latin5" | "armscii8" | "utf8" | "ucs2" | "cp866" | "keybcs2" | "macce" | "macroman" | "cp852" | "latin7" | "utf8mb4" | "cp1251" | "utf16" | "cp1256" | "cp1257" | "utf32" | "binary" | "geostd8" | "cp932" | "eucjpms"
   142  
   143  	character_sets_dir?: string
   144  
   145  	// The server's default character set.
   146  	character_set_server?: string & "big5" | "dec8" | "cp850" | "hp8" | "koi8r" | "latin1" | "latin2" | "swe7" | "ascii" | "ujis" | "sjis" | "hebrew" | "tis620" | "euckr" | "koi8u" | "gb2312" | "greek" | "cp1250" | "gbk" | "latin5" | "armscii8" | "utf8" | "ucs2" | "cp866" | "keybcs2" | "macce" | "macroman" | "cp852" | "latin7" | "utf8mb4" | "cp1251" | "utf16" | "cp1256" | "cp1257" | "utf32" | "binary" | "geostd8" | "cp932" | "eucjpms"
   147  
   148  	// Controls whether the mysql_native_password and sha256_password built-in authentication plugins support proxy users.
   149  	check_proxy_users?: string & "0" | "1" | "OFF" | "ON"
   150  
   151  	// The collation of the connection character set.
   152  	collation_connection?: string & "big5_chinese_ci" | "big5_bin" | "dec8_swedish_ci" | "dec8_bin" | "cp850_general_ci" | "cp850_bin" | "hp8_english_ci" | "hp8_bin" | "koi8r_general_ci" | "koi8r_bin" | "latin1_german1_ci" | "latin1_swedish_ci" | "latin1_danish_ci" | "latin1_german2_ci" | "latin1_bin" | "latin1_general_ci" | "latin1_general_cs" | "latin1_spanish_ci" | "latin2_czech_cs" | "latin2_general_ci" | "latin2_hungarian_ci" | "latin2_croatian_ci" | "latin2_bin" | "swe7_swedish_ci" | "swe7_bin" | "ascii_general_ci" | "ascii_bin" | "ujis_japanese_ci" | "ujis_bin" | "sjis_japanese_ci" | "sjis_bin" | "hebrew_general_ci" | "hebrew_bin" | "tis620_thai_ci" | "tis620_bin" | "euckr_korean_ci" | "euckr_bin" | "koi8u_general_ci" | "koi8u_bin" | "gb2312_chinese_ci" | "gb2312_bin" | "greek_general_ci" | "greek_bin" | "cp1250_general_ci" | "cp1250_czech_cs" | "cp1250_croatian_ci" | "cp1250_bin" | "cp1250_polish_ci" | "gbk_chinese_ci" | "gbk_bin" | "latin5_turkish_ci" | "latin5_bin" | "armscii8_general_ci" | "armscii8_bin" | "utf8_general_ci" | "utf8_bin" | "utf8_unicode_ci" | "utf8_icelandic_ci" | "utf8_latvian_ci" | "utf8_romanian_ci" | "utf8_slovenian_ci" | "utf8_polish_ci" | "utf8_estonian_ci" | "utf8_spanish_ci" | "utf8_swedish_ci" | "utf8_turkish_ci" | "utf8_czech_ci" | "utf8_danish_ci" | "utf8_lithuanian_ci" | "utf8_slovak_ci" | "utf8_spanish2_ci" | "utf8_roman_ci" | "utf8_persian_ci" | "utf8_esperanto_ci" | "utf8_hungarian_ci" | "utf8_sinhala_ci" | "ucs2_general_ci" | "ucs2_bin" | "ucs2_unicode_ci" | "ucs2_icelandic_ci" | "ucs2_latvian_ci" | "ucs2_romanian_ci" | "ucs2_slovenian_ci" | "ucs2_polish_ci" | "ucs2_estonian_ci" | "ucs2_spanish_ci" | "ucs2_swedish_ci" | "ucs2_turkish_ci" | "ucs2_czech_ci" | "ucs2_danish_ci" | "ucs2_lithuanian_ci" | "ucs2_slovak_ci" | "ucs2_spanish2_ci" | "ucs2_roman_ci" | "ucs2_persian_ci" | "ucs2_esperanto_ci" | "ucs2_hungarian_ci" | "ucs2_sinhala_ci" | "cp866_general_ci" | "cp866_bin" | "keybcs2_general_ci" | "keybcs2_bin" | "macce_general_ci" | "macce_bin" | "macroman_general_ci" | "macroman_bin" | "cp852_general_ci" | "cp852_bin" | "latin7_estonian_cs" | "latin7_general_ci" | "latin7_general_cs" | "latin7_bin" | "utf8mb4_general_ci" | "utf8mb4_bin" | "utf8mb4_unicode_ci" | "utf8mb4_icelandic_ci" | "utf8mb4_latvian_ci" | "utf8mb4_romanian_ci" | "utf8mb4_slovenian_ci" | "utf8mb4_polish_ci" | "utf8mb4_estonian_ci" | "utf8mb4_spanish_ci" | "utf8mb4_swedish_ci" | "utf8mb4_turkish_ci" | "utf8mb4_czech_ci" | "utf8mb4_danish_ci" | "utf8mb4_lithuanian_ci" | "utf8mb4_slovak_ci" | "utf8mb4_spanish2_ci" | "utf8mb4_roman_ci" | "utf8mb4_persian_ci" | "utf8mb4_esperanto_ci" | "utf8mb4_hungarian_ci" | "utf8mb4_sinhala_ci" | "cp1251_bulgarian_ci" | "cp1251_ukrainian_ci" | "cp1251_bin" | "cp1251_general_ci" | "cp1251_general_cs" | "utf16_general_ci" | "utf16_bin" | "utf16_unicode_ci" | "utf16_icelandic_ci" | "utf16_latvian_ci" | "utf16_romanian_ci" | "utf16_slovenian_ci" | "utf16_polish_ci" | "utf16_estonian_ci" | "utf16_spanish_ci" | "utf16_swedish_ci" | "utf16_turkish_ci" | "utf16_czech_ci" | "utf16_danish_ci" | "utf16_lithuanian_ci" | "utf16_slovak_ci" | "utf16_spanish2_ci" | "utf16_roman_ci" | "utf16_persian_ci" | "utf16_esperanto_ci" | "utf16_hungarian_ci" | "utf16_sinhala_ci" | "cp1256_general_ci" | "cp1256_bin" | "cp1257_lithuanian_ci" | "cp1257_bin" | "cp1257_general_ci" | "utf32_general_ci" | "utf32_bin" | "utf32_unicode_ci" | "utf32_icelandic_ci" | "utf32_latvian_ci" | "utf32_romanian_ci" | "utf32_slovenian_ci" | "utf32_polish_ci" | "utf32_estonian_ci" | "utf32_spanish_ci" | "utf32_swedish_ci" | "utf32_turkish_ci" | "utf32_czech_ci" | "utf32_danish_ci" | "utf32_lithuanian_ci" | "utf32_slovak_ci" | "utf32_spanish2_ci" | "utf32_roman_ci" | "utf32_persian_ci" | "utf32_esperanto_ci" | "utf32_hungarian_ci" | "utf32_sinhala_ci" | "binary" | "geostd8_general_ci" | "geostd8_bin" | "cp932_japanese_ci" | "cp932_bin" | "eucjpms_japanese_ci" | "eucjpms_bin"
   153  
   154  	collation_database?: string
   155  
   156  	// The server's default collation.
   157  	collation_server?: string & "big5_chinese_ci" | "big5_bin" | "dec8_swedish_ci" | "dec8_bin" | "cp850_general_ci" | "cp850_bin" | "hp8_english_ci" | "hp8_bin" | "koi8r_general_ci" | "koi8r_bin" | "latin1_german1_ci" | "latin1_swedish_ci" | "latin1_danish_ci" | "latin1_german2_ci" | "latin1_bin" | "latin1_general_ci" | "latin1_general_cs" | "latin1_spanish_ci" | "latin2_czech_cs" | "latin2_general_ci" | "latin2_hungarian_ci" | "latin2_croatian_ci" | "latin2_bin" | "swe7_swedish_ci" | "swe7_bin" | "ascii_general_ci" | "ascii_bin" | "ujis_japanese_ci" | "ujis_bin" | "sjis_japanese_ci" | "sjis_bin" | "hebrew_general_ci" | "hebrew_bin" | "tis620_thai_ci" | "tis620_bin" | "euckr_korean_ci" | "euckr_bin" | "koi8u_general_ci" | "koi8u_bin" | "gb2312_chinese_ci" | "gb2312_bin" | "greek_general_ci" | "greek_bin" | "cp1250_general_ci" | "cp1250_czech_cs" | "cp1250_croatian_ci" | "cp1250_bin" | "cp1250_polish_ci" | "gbk_chinese_ci" | "gbk_bin" | "latin5_turkish_ci" | "latin5_bin" | "armscii8_general_ci" | "armscii8_bin" | "utf8_general_ci" | "utf8_bin" | "utf8_unicode_ci" | "utf8_icelandic_ci" | "utf8_latvian_ci" | "utf8_romanian_ci" | "utf8_slovenian_ci" | "utf8_polish_ci" | "utf8_estonian_ci" | "utf8_spanish_ci" | "utf8_swedish_ci" | "utf8_turkish_ci" | "utf8_czech_ci" | "utf8_danish_ci" | "utf8_lithuanian_ci" | "utf8_slovak_ci" | "utf8_spanish2_ci" | "utf8_roman_ci" | "utf8_persian_ci" | "utf8_esperanto_ci" | "utf8_hungarian_ci" | "utf8_sinhala_ci" | "ucs2_general_ci" | "ucs2_bin" | "ucs2_unicode_ci" | "ucs2_icelandic_ci" | "ucs2_latvian_ci" | "ucs2_romanian_ci" | "ucs2_slovenian_ci" | "ucs2_polish_ci" | "ucs2_estonian_ci" | "ucs2_spanish_ci" | "ucs2_swedish_ci" | "ucs2_turkish_ci" | "ucs2_czech_ci" | "ucs2_danish_ci" | "ucs2_lithuanian_ci" | "ucs2_slovak_ci" | "ucs2_spanish2_ci" | "ucs2_roman_ci" | "ucs2_persian_ci" | "ucs2_esperanto_ci" | "ucs2_hungarian_ci" | "ucs2_sinhala_ci" | "cp866_general_ci" | "cp866_bin" | "keybcs2_general_ci" | "keybcs2_bin" | "macce_general_ci" | "macce_bin" | "macroman_general_ci" | "macroman_bin" | "cp852_general_ci" | "cp852_bin" | "latin7_estonian_cs" | "latin7_general_ci" | "latin7_general_cs" | "latin7_bin" | "utf8mb4_0900_ai_ci" | "utf8mb4_general_ci" | "utf8mb4_bin" | "utf8mb4_unicode_ci" | "utf8mb4_icelandic_ci" | "utf8mb4_latvian_ci" | "utf8mb4_romanian_ci" | "utf8mb4_slovenian_ci" | "utf8mb4_polish_ci" | "utf8mb4_estonian_ci" | "utf8mb4_spanish_ci" | "utf8mb4_swedish_ci" | "utf8mb4_turkish_ci" | "utf8mb4_czech_ci" | "utf8mb4_danish_ci" | "utf8mb4_lithuanian_ci" | "utf8mb4_slovak_ci" | "utf8mb4_spanish2_ci" | "utf8mb4_roman_ci" | "utf8mb4_persian_ci" | "utf8mb4_esperanto_ci" | "utf8mb4_hungarian_ci" | "utf8mb4_sinhala_ci" | "cp1251_bulgarian_ci" | "cp1251_ukrainian_ci" | "cp1251_bin" | "cp1251_general_ci" | "cp1251_general_cs" | "utf16_general_ci" | "utf16_bin" | "utf16_unicode_ci" | "utf16_icelandic_ci" | "utf16_latvian_ci" | "utf16_romanian_ci" | "utf16_slovenian_ci" | "utf16_polish_ci" | "utf16_estonian_ci" | "utf16_spanish_ci" | "utf16_swedish_ci" | "utf16_turkish_ci" | "utf16_czech_ci" | "utf16_danish_ci" | "utf16_lithuanian_ci" | "utf16_slovak_ci" | "utf16_spanish2_ci" | "utf16_roman_ci" | "utf16_persian_ci" | "utf16_esperanto_ci" | "utf16_hungarian_ci" | "utf16_sinhala_ci" | "cp1256_general_ci" | "cp1256_bin" | "cp1257_lithuanian_ci" | "cp1257_bin" | "cp1257_general_ci" | "utf32_general_ci" | "utf32_bin" | "utf32_unicode_ci" | "utf32_icelandic_ci" | "utf32_latvian_ci" | "utf32_romanian_ci" | "utf32_slovenian_ci" | "utf32_polish_ci" | "utf32_estonian_ci" | "utf32_spanish_ci" | "utf32_swedish_ci" | "utf32_turkish_ci" | "utf32_czech_ci" | "utf32_danish_ci" | "utf32_lithuanian_ci" | "utf32_slovak_ci" | "utf32_spanish2_ci" | "utf32_roman_ci" | "utf32_persian_ci" | "utf32_esperanto_ci" | "utf32_hungarian_ci" | "utf32_sinhala_ci" | "binary" | "geostd8_general_ci" | "geostd8_bin" | "cp932_japanese_ci" | "cp932_bin" | "eucjpms_japanese_ci" | "eucjpms_bin"
   158  
   159  	// The transaction completion type (0 - default, 1 - chain, 2 - release)
   160  	completion_type?: int & >=0 & <=2
   161  
   162  	// Allows INSERT and SELECT statements to run concurrently for MyISAM tables that have no free blocks in the middle of the data file.
   163  	concurrent_insert?: int & >=0 & <=2
   164  
   165  	// The number of seconds that the MySQLd server waits for a connect packet before responding with Bad handshake.
   166  	connect_timeout?: int & >=2 & <=31536000
   167  
   168  	// Write a core file if mysqld dies.
   169  	"core-file"?: string & "0" | "1" | "OFF" | "ON"
   170  
   171  	// smartengine enable
   172  	"smartengine"?: string & "0" | "1" | "OFF" | "ON"
   173  
   174  	// smartengine enable
   175  	"loose_smartengine"?: string & "0" | "1" | "OFF" | "ON"
   176  
   177  	// Abort a recursive common table expression if it does more than this number of iterations.
   178  	cte_max_recursion_depth: int & >=0 & <=4294967295 | *1000
   179  
   180  	// MySQL data directory
   181  	datadir?: string
   182  
   183  	// The default authentication plugin
   184  	default_authentication_plugin?: string & "mysql_native_password" | "sha256_password" | "caching_sha2_password"
   185  
   186  	// Controls default collation for utf8mb4 while replicating implicit utf8mb4 collations.
   187  	default_collation_for_utf8mb4?: string & "utf8mb4_0900_ai_ci" | "utf8mb4_general_ci"
   188  
   189  	// Defines the global automatic password expiration policy.
   190  	default_password_lifetime: int & >=0 & <=65535 | *0
   191  
   192  	// The default storage engine (table type).
   193  	default_storage_engine?: string & "InnoDB" | "MRG_MYISAM" | "BLACKHOLE" | "CSV" | "MEMORY" | "FEDERATED" | "ARCHIVE" | "MyISAM" | "xengine" | "XENGINE" | "smartengine" | "SMARTENGINE" | "INNODB" | "innodb"
   194  
   195  	// Server current time zone
   196  	default_time_zone?: string
   197  
   198  	// The default storage engine for TEMPORARY tables.
   199  	default_tmp_storage_engine?: string
   200  
   201  	// The default mode value to use for the WEEK() function.
   202  	default_week_format?: int & >=0 & <=7
   203  
   204  	// After inserting delayed_insert_limit delayed rows, the INSERT DELAYED handler thread checks whether there are any SELECT statements pending. If so, it allows them to execute before continuing to insert delayed rows.
   205  	delayed_insert_limit?: int & >=1 & <=9223372036854775807
   206  
   207  	// How many seconds an INSERT DELAYED handler thread should wait for INSERT statements before terminating.
   208  	delayed_insert_timeout?: int & >=1 & <=31536000
   209  
   210  	// If the queue becomes full, any client that issues an INSERT DELAYED statement waits until there is room in the queue again.
   211  	delayed_queue_size?: int & >=1 & <=9223372036854775807
   212  
   213  	// Determines when keys are flushed for MyISAM tables
   214  	delay_key_write?: string & "OFF" | "ON" | "ALL"
   215  
   216  	// This variable indicates which storage engines cannot be used to create tables or tablespaces.
   217  	disabled_storage_engines?: string
   218  
   219  	// Controls how the server handles clients with expired passwords:
   220  	disconnect_on_expired_password?: string & "0" | "1" | "OFF" | "ON"
   221  
   222  	// Number of digits by which to increase the scale of the result of division operations.
   223  	div_precision_increment?: int & >=0 & <=30
   224  
   225  	// Whether optimizer JSON output should add end markers.
   226  	end_markers_in_json?: string & "0" | "1" | "OFF" | "ON"
   227  
   228  	// Prevents execution of statements that cannot be logged in a transactionally safe manner
   229  	enforce_gtid_consistency?: string & "OFF" | "WARN" | "ON"
   230  
   231  	// Number of equality ranges when the optimizer should switch from using index dives to index statistics.
   232  	eq_range_index_dive_limit?: int & >=0 & <=4294967295
   233  
   234  	// Indicates the status of the Event Scheduler
   235  	event_scheduler?: string & "ON" | "OFF"
   236  
   237  	expire_logs_days: int & >=0 & <=4294967295 | *2592000
   238  
   239  	// Needed for 5.6.7
   240  	explicit_defaults_for_timestamp: string & "0" | "1" | "OFF" | "ON" | *"1"
   241  
   242  	// If ON, the server flushes all changes to disk after each SQL statement.
   243  	flush?: string & "0" | "1" | "OFF" | "ON"
   244  
   245  	// Frees up resources and synchronize unflushed data to disk. Recommended only on systems with minimal resources.
   246  	flush_time?: int & >=0 & <=31536000
   247  
   248  	foreign_key_checks: string & "0" | "1" | "OFF" | "ON" | *"1"
   249  
   250  	// The list of operators supported by boolean full-text searches
   251  	ft_boolean_syntax?: string
   252  
   253  	// Maximum length of the word to be included in a FULLTEXT index.
   254  	ft_max_word_len?: int & >=10 & <=84
   255  
   256  	// Minimum length of the word to be included in a FULLTEXT index.
   257  	ft_min_word_len?: int & >=1 & <=84
   258  
   259  	// Number of top matches to use for full-text searches performed using WITH QUERY EXPANSION.
   260  	ft_query_expansion_limit?: int & >=0 & <=1000
   261  
   262  	// File for Full Search Stop Words. NULL uses Default, /dev/null to disable Stop Words
   263  	ft_stopword_file?: string & "/dev/null"
   264  
   265  	// Whether the general query log is enabled
   266  	general_log?: string & "0" | "1" | "OFF" | "ON"
   267  
   268  	// Location of mysql general log.
   269  	general_log_file?: string
   270  
   271  	// Maximum allowed result length in bytes for the GROUP_CONCAT().
   272  	group_concat_max_len?: int & >=4 & <=18446744073709547520
   273  
   274  	// Compress the mysql.gtid_executed table each time this many transactions have taken place.
   275  	gtid_executed_compression_period?: int & >=0 & <=4294967295
   276  
   277  	gtid_mode?: string & "0" | "OFF" | "ON" | "1"
   278  
   279  	// Controls whether GTID based logging is enabled and what type of transactions the logs can contain
   280  	"gtid-mode"?: string & "OFF" | "OFF_PERMISSIVE" | "ON_PERMISSIVE" | "ON"
   281  
   282  	gtid_owned?: string
   283  
   284  	// The set of all GTIDs that have been purged from the binary log
   285  	gtid_purged?: string
   286  
   287  	// Controls default collation for utf8mb4 while replicating implicit utf8mb4 collations.
   288  	histogram_generation_max_mem_size: int & >=1000000 & <=18446744073709551615 | *20000000
   289  
   290  	// The size of the internal host cache.
   291  	host_cache_size?: int & >=0 & <=65536
   292  
   293  	// The number of seconds after which mysqld server will fetch data from storage engine and replace the data in cache.
   294  	information_schema_stats_expiry: int & >=0 & <=31536000 | *86400
   295  
   296  	// String to be executed by the server for each client that connects.
   297  	init_connect?: string
   298  
   299  	init_file?: string
   300  
   301  	init_slave?: string
   302  
   303  	// Enables InnoDB Adaptive Flushing (default=on for RDS)
   304  	innodb_adaptive_flushing?: string & "0" | "1" | "OFF" | "ON"
   305  
   306  	// Low water mark representing percentage of redo log capacity at which adaptive flushing is enabled.
   307  	innodb_adaptive_flushing_lwm?: int & >=0 & <=70
   308  
   309  	// Whether innodb adaptive hash indexes are enabled or disabled
   310  	innodb_adaptive_hash_index?: string & "0" | "1" | "OFF" | "ON"
   311  
   312  	// Partitions the adaptive hash index search system.
   313  	innodb_adaptive_hash_index_parts?: int & >=1 & <=512
   314  
   315  	// Allows InnoDB to automatically adjust the value of innodb_thread_sleep_delay up or down according to the current workload.
   316  	innodb_adaptive_max_sleep_delay?: int & >=0 & <=1000000
   317  
   318  	// The increment size (in MB) for extending the size of an auto-extending tablespace file when it becomes full
   319  	innodb_autoextend_increment?: int & >=1 & <=1000
   320  
   321  	// The locking mode to use for generating auto-increment values
   322  	innodb_autoinc_lock_mode?: int & >=0 & <=2
   323  
   324  	// Defines the chunk size for online InnoDB buffer pool resizing operations.
   325  	innodb_buffer_pool_chunk_size?: int & >=1048576 & <=4294967295
   326  
   327  	// Specifies whether to record the pages cached in the InnoDB buffer pool when the MySQL server is shut down.
   328  	innodb_buffer_pool_dump_at_shutdown?: string & "0" | "1" | "OFF" | "ON"
   329  
   330  	// Immediately records the pages cached in the InnoDB buffer pool.
   331  	innodb_buffer_pool_dump_now?: string & "0" | "1" | "OFF" | "ON"
   332  
   333  	// Specifies the percentage of the most recently used pages for each buffer pool to read out and dump.
   334  	innodb_buffer_pool_dump_pct?: int & >=1 & <=100
   335  
   336  	// Specifies the file that holds the list of page numbers produced by innodb_buffer_pool_dump_at_shutdown or innodb_buffer_pool_dump_now.
   337  	innodb_buffer_pool_filename?: string
   338  
   339  	// The number of regions that the InnoDB buffer pool is divided into
   340  	innodb_buffer_pool_instances?: int & >=1 & <=64
   341  
   342  	// Interrupts the process of restoring InnoDB buffer pool contents triggered by innodb_buffer_pool_load_at_startup or innodb_buffer_pool_load_now.
   343  	innodb_buffer_pool_load_abort?: string & "0" | "1" | "OFF" | "ON"
   344  
   345  	// 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.
   346  	innodb_buffer_pool_load_at_startup?: string & "0" | "1" | "OFF" | "ON"
   347  
   348  	// Immediately warms up the InnoDB buffer pool by loading a set of data pages, without waiting for a server restart.
   349  	innodb_buffer_pool_load_now?: string & "0" | "1" | "OFF" | "ON"
   350  
   351  	// The size in bytes of the memory buffer innodb uses to cache data and indexes of its tables
   352  	innodb_buffer_pool_size?: int & >=5242880 & <=18446744073709551615 @k8sResource(quantity)
   353  
   354  	// Controls InnoDB change buffering
   355  	innodb_change_buffering?: string & "inserts" | "deletes" | "purges" | "changes" | "all" | "none"
   356  
   357  	// Maximum size for the InnoDB change buffer, as a percentage of the total size of the buffer pool.
   358  	innodb_change_buffer_max_size?: int & >=0 & <=50
   359  
   360  	// This is a debug option that is only intended for expert debugging use. It disables checkpoints so that a deliberate server exit always initiates InnoDB recovery.
   361  	innodb_checkpoint_disabled?: string & "0" | "1" | "OFF" | "ON"
   362  
   363  	// Specifies how to generate and verify the checksum stored in each disk block of each InnoDB tablespace.
   364  	innodb_checksum_algorithm?: string & "crc32" | "innodb" | "none" | "strict_crc32" | "strict_innodb" | "strict_none"
   365  
   366  	// Enables per-index compression-related statistics in the INFORMATION_SCHEMA.INNODB_CMP_PER_INDEX table.
   367  	innodb_cmp_per_index_enabled?: string & "0" | "1" | "OFF" | "ON"
   368  
   369  	// The number of threads that can commit at the same time.
   370  	innodb_commit_concurrency?: int & >=0 & <=1000
   371  
   372  	// Sets the cutoff point at which MySQL begins adding padding within compressed pages to avoid expensive compression failures.
   373  	innodb_compression_failure_threshold_pct?: int & >=0 & <=100
   374  
   375  	// Sets the cutoff point at which MySQL begins adding padding within compressed pages to avoid expensive compression failures.
   376  	innodb_compression_level?: int & >=0 & <=9
   377  
   378  	// Specifies the maximum percentage that can be reserved as free space within each compressed page, allowing room to reorganize the data and modification log within the page when a compressed table or index is updated and the data might be recompressed.
   379  	innodb_compression_pad_pct_max?: int & >=0 & <=75
   380  
   381  	// Number of times a thread can enter and leave Innodb before it is subject to innodb-thread-concurrency
   382  	innodb_concurrency_tickets?: int & >=1 & <=4294967295
   383  
   384  	innodb_data_file_path?: string
   385  
   386  	// Directory where innodb files are stored
   387  	innodb_data_home_dir?: string
   388  
   389  	// Enable this debug option to reset DDL log crash injection counters to 1.
   390  	innodb_ddl_log_crash_reset_debug?: string & "0" | "1" | "OFF" | "ON"
   391  
   392  	// This option is used to disable deadlock detection.
   393  	innodb_deadlock_detect?: string & "0" | "1" | "OFF" | "ON"
   394  
   395  	// Automatically scale innodb_buffer_pool_size and innodb_log_file_size based on system memory. Also set innodb_flush_method=O_DIRECT_NO_FSYNC, if supported.
   396  	innodb_dedicated_server?: string & "0" | "1" | "OFF" | "ON"
   397  
   398  	// Defines the default row format for InnoDB tables (including user-created InnoDB temporary tables).
   399  	innodb_default_row_format?: string & "DYNAMIC" | "COMPACT" | "REDUNDANT"
   400  
   401  	// Defines directories to scan at startup for tablespace files.
   402  	innodb_directories?: string
   403  
   404  	// If enabled, this variable disables the operating system file system cache for merge-sort temporary files.
   405  	innodb_disable_sort_file_cache?: string & "0" | "1" | "OFF" | "ON"
   406  
   407  	innodb_doublewrite: string & "0" | "1" | "OFF" | "ON" | *"1"
   408  
   409  	// Defines the number of doublewrite pages to write in a batch.
   410  	innodb_doublewrite_batch_size: int & >=0 & <=256 | *16
   411  
   412  	// Defines the number of doublewrite files.
   413  	innodb_doublewrite_files?: int & >=2 & <=256
   414  
   415  	// Defines the maximum number of doublewrite pages per thread for a batch write. If no value is specified, innodb_doublewrite_pages is set to the innodb_write_io_threads value.
   416  	innodb_doublewrite_pages: int & >=1 & <=512 | *32
   417  
   418  	// The InnoDB shutdown mode
   419  	innodb_fast_shutdown?: int & 0 | 1 | 2
   420  
   421  	// Use tablespaces or files for Innodb.
   422  	innodb_file_per_table: string & "0" | "1" | "OFF" | "ON" | *"1"
   423  
   424  	// Defines the percentage of space on each B-tree page that is filled during a sorted index build, with the remaining space reserved for future index growth.
   425  	innodb_fill_factor?: int & >=10 & <=100
   426  
   427  	// Number of iterations for which InnoDB keeps the previously calculated snapshot of the flushing state, controlling how quickly adaptive flushing responds to changing workloads.
   428  	innodb_flushing_avg_loops?: int & >=1 & <=1000
   429  
   430  	// Write and flush the logs every N seconds. This setting has an effect only when innodb_flush_log_at_trx_commit has a value of 2.
   431  	innodb_flush_log_at_timeout?: int & >=0 & <=2700
   432  
   433  	// Determines Innodb transaction durability
   434  	innodb_flush_log_at_trx_commit?: int & >=0 & <=2
   435  
   436  	// Determines Innodb flush method
   437  	innodb_flush_method?: string & "O_DIRECT"
   438  
   439  	// Specifies whether flushing a page from the InnoDB buffer pool also flushes other dirty pages in the same extent.
   440  	innodb_flush_neighbors?: int & >=0 & <=2
   441  
   442  	// Ignore the innodb_io_capacity setting to be ignored for bursts of I/O activity that occur at checkpoints.
   443  	innodb_flush_sync?: string & "0" | "1" | "OFF" | "ON"
   444  
   445  	// Lets InnoDB load tables at startup that are marked as corrupted
   446  	innodb_force_load_corrupted?: string & "0" | "1" | "OFF" | "ON"
   447  
   448  	innodb_force_recovery: int & >=0 & <=6 | *0
   449  
   450  	// Specifies the qualified name of an InnoDB table containing a FULLTEXT index.
   451  	innodb_ft_aux_table?: string
   452  
   453  	// Size of the cache that holds a parsed document in memory while creating an InnoDB FULLTEXT index.
   454  	innodb_ft_cache_size?: int & >=0 & <=4294967295
   455  
   456  	// Whether to enable additional full-text search (FTS) diagnostic output.
   457  	innodb_ft_enable_diag_print?: string & "0" | "1" | "OFF" | "ON"
   458  
   459  	// Specifies that a set of stopwords is associated with an InnoDB FULLTEXT index at the time the index is created.
   460  	innodb_ft_enable_stopword?: string & "0" | "1" | "OFF" | "ON"
   461  
   462  	// Maximum length of words that are stored in an InnoDB FULLTEXT index.
   463  	innodb_ft_max_token_size?: int & >=10 & <=252
   464  
   465  	// Minimum length of words that are stored in an InnoDB FULLTEXT index.
   466  	innodb_ft_min_token_size?: int & >=0 & <=16
   467  
   468  	// Number of words to process during each OPTIMIZE TABLE operation on an InnoDB FULLTEXT index.
   469  	innodb_ft_num_word_optimize?: int & >=1 & <=4294967295
   470  
   471  	// The InnoDB FULLTEXT search (FTS) query result cache limit (defined in bytes) per FTS query or per thread.
   472  	innodb_ft_result_cache_limit?: int & >=1000000 & <=4294967295
   473  
   474  	// Name of the table containing a list of words to ignore when creating an InnoDB FULLTEXT index, in the format db_name/table_name.
   475  	innodb_ft_server_stopword_table?: string
   476  
   477  	// Number of threads used in parallel to index and tokenize text in an InnoDB FULLTEXT index, when building a search index for a large table.
   478  	innodb_ft_sort_pll_degree?: int & >=1 & <=32
   479  
   480  	// The total memory allocated, in bytes, for the InnoDB FULLTEXT search index cache for all tables.
   481  	innodb_ft_total_cache_size?: int & >=32000000 & <=1600000000
   482  
   483  	// Name of the table containing a list of words to ignore when creating an InnoDB FULLTEXT index, in the format db_name/table_name.
   484  	innodb_ft_user_stopword_table?: string
   485  
   486  	// The maximum number of I/O operations per second that InnoDB will perform.
   487  	innodb_io_capacity?: int & >=100 & <=18446744073709551615
   488  
   489  	// The limit up to which InnoDB is allowed to extend the innodb_io_capacity setting in case of emergency.
   490  	innodb_io_capacity_max?: int & >=2000 & <=18446744073709547520
   491  
   492  	// Timeout in seconds an innodb transaction may wait for a row lock before giving up
   493  	innodb_lock_wait_timeout?: int & >=1 & <=1073741824
   494  
   495  	// The size in bytes of the buffer that innodb uses to write to the log files on disk
   496  	innodb_log_buffer_size: int & >=262144 & <=4294967295 | *8388608
   497  
   498  	// Enables or disables checksums for redo log pages.
   499  	innodb_log_checksums?: string & "0" | "1" | "OFF" | "ON"
   500  
   501  	// Specifies whether images of re-compressed pages are stored in InnoDB redo logs.
   502  	innodb_log_compressed_pages?: string & "0" | "1" | "OFF" | "ON"
   503  
   504  	innodb_log_files_in_group: int & >=2 & <=100 | *2
   505  
   506  	// The size in bytes of each log file in a log group
   507  	innodb_log_file_size: int & >=4194304 & <=273804165120 | *134217728
   508  
   509  	// The directory path to the innodb log files
   510  	innodb_log_group_home_dir?: string
   511  
   512  	// Defines the minimum amount of CPU usage below which user threads no longer spin while waiting for flushed redo.
   513  	innodb_log_spin_cpu_abs_lwm: int & >=0 & <=4294967295 | *80
   514  
   515  	// Defines the maximum amount of CPU usage above which user threads no longer spin while waiting for flushed redo.
   516  	innodb_log_spin_cpu_pct_hwm: int & >=0 & <=100 | *50
   517  
   518  	// Defines the maximum average log flush time beyond which user threads no longer spin while waiting for flushed redo.
   519  	innodb_log_wait_for_flush_spin_hwm: int & >=0 & <=18446744073709551615 | *400
   520  
   521  	// The write-ahead block size for the redo log, in bytes.
   522  	innodb_log_write_ahead_size?: int & >=512 & <=16384
   523  
   524  	// A parameter that influences the algorithms and heuristics for the flush operation for the InnoDB buffer pool.
   525  	innodb_lru_scan_depth?: int & >=100 & <=18446744073709551615
   526  
   527  	// Maximum percentage of dirty pages in the buffer pool
   528  	innodb_max_dirty_pages_pct?: int & >=0 & <=99
   529  
   530  	// Low water mark representing percentage of dirty pages where preflushing is enabled to control the dirty page ratio.
   531  	innodb_max_dirty_pages_pct_lwm?: float & >=0 & <=99.99
   532  
   533  	// Controls how to delay INSERT, UPDATE, and DELETE operations when purge operations are lagging
   534  	innodb_max_purge_lag?: int & >=0 & <=4294967295
   535  
   536  	// Specifies the maximum delay in milliseconds for the delay imposed by the innodb_max_purge_lag configuration option
   537  	innodb_max_purge_lag_delay?: int & >=0 & <=18446744073709551615
   538  
   539  	// Defines a threshold size for undo tablespaces.
   540  	innodb_max_undo_log_size?: int & >=10485760 & <=18446744073709551615
   541  
   542  	// Turns off one or more counters in the information_schema.innodb_metrics table.
   543  	innodb_monitor_disable?: string
   544  
   545  	// Turns on one or more counters in the information_schema.innodb_metrics table.
   546  	innodb_monitor_enable?: string
   547  
   548  	// Resets to zero the count value for one or more counters in the information_schema.innodb_metrics table.
   549  	innodb_monitor_reset?: string
   550  
   551  	// Resets all values (minimum, maximum, and so on) for one or more counters in the information_schema.innodb_metrics table.
   552  	innodb_monitor_reset_all?: string
   553  
   554  	// Specifies the approximate percentage of the InnoDB buffer pool used for the old block sublist.
   555  	innodb_old_blocks_pct?: int & >=5 & <=95
   556  
   557  	// Specifies how long in milliseconds (ms) a block inserted into the old sublist must stay there after its first access before it can be moved to the new sublist.
   558  	innodb_old_blocks_time?: int & >=0 & <=4294967295
   559  
   560  	// Specifies an upper limit on the size of the temporary log files used during online DDL operations for InnoDB tables.
   561  	innodb_online_alter_log_max_size?: int & >=65536 & <=18446744073709551615
   562  
   563  	// Relevant only if you use multiple tablespaces in innodb. It specifies the maximum number of .ibd files that innodb can keep open at one time
   564  	innodb_open_files?: int & >=10 & <=4294967295
   565  
   566  	// Changes the way the OPTIMIZE TABLE statement operates on InnoDB tables.
   567  	innodb_optimize_fulltext_only?: string & "0" | "1" | "OFF" | "ON"
   568  
   569  	// The number of page cleaner threads that flush dirty pages from buffer pool instances.
   570  	innodb_page_cleaners?: int & >=1 & <=64
   571  
   572  	// Specifies the page size for all InnoDB tablespaces in a MySQL instance.
   573  	innodb_page_size?: string
   574  
   575  	// Defines the number of threads that can be used for parallel clustered index reads.
   576  	innodb_parallel_read_threads?: int & >=1 & <=256
   577  
   578  	// When this option is enabled, information about all deadlocks in InnoDB user transactions is recorded in the mysqld error log.
   579  	innodb_print_all_deadlocks?: string & "0" | "1" | "OFF" | "ON"
   580  
   581  	// Enabling this option causes MySQL to write DDL logs to stderr.
   582  	innodb_print_ddl_logs: string & "0" | "1" | "OFF" | "ON" | *"0"
   583  
   584  	// The granularity of changes, expressed in units of redo log records, that trigger a purge operation, flushing the changed buffer pool blocks to disk
   585  	innodb_purge_batch_size?: int & >=1 & <=5000
   586  
   587  	// Defines the frequency with which the purge system frees rollback segments.
   588  	innodb_purge_rseg_truncate_frequency?: int & >=1 & <=128
   589  
   590  	// The number of background threads devoted to the InnoDB purge operation
   591  	innodb_purge_threads: int & >=1 & <=32 | *1
   592  
   593  	// Enables or disables Innodb Random Read Ahead
   594  	innodb_random_read_ahead?: string & "0" | "1" | "OFF" | "ON"
   595  
   596  	// Controls the sensitivity of linear read-ahead that InnoDB uses to prefetch pages into the buffer cache.
   597  	innodb_read_ahead_threshold?: int & >=0 & <=64
   598  
   599  	// The number of I/O threads for read operations in InnoDB.
   600  	innodb_read_io_threads?: int & >=1 & <=64
   601  
   602  	// Starts the server in read-only mode.
   603  	innodb_read_only?: string & "0" | "1" | "OFF" | "ON"
   604  
   605  	// Controls encryption of redo log data for tables encrypted using the InnoDB tablespace encryption feature.
   606  	innodb_redo_log_encrypt: string & "0" | "1" | "OFF" | "ON" | *"0"
   607  
   608  	// The replication thread delay (in ms) on a slave server if innodb_thread_concurrency is reached.
   609  	innodb_replication_delay?: int & >=0 & <=4294967295
   610  
   611  	// Controls whether timeouts rollback the last statement or the entire transaction
   612  	innodb_rollback_on_timeout?: string & "0" | "1" | "OFF" | "ON"
   613  
   614  	// Defines how many of the rollback segments in the system tablespace that InnoDB uses within a transaction.
   615  	innodb_rollback_segments?: int & >=1 & <=128
   616  
   617  	// If tablespace map files are lost or corrupted, the innodb_scan_directories startup option can be used to specify tablespace file directories. This option causes InnoDB to read the first page of each tablespace file in the specified directories and recreate tablespace map files so that the recovery process can apply redo logs to affected tablespaces.
   618  	innodb_scan_directories?: string
   619  
   620  	// Defines the percentage of tablespace file segment pages reserved as empty pages
   621  	innodb_segment_reserve_factor: float & >=0.03 & <=40 | *12.5
   622  
   623  	// Specifies the sizes of several buffers used for sorting data during creation of an InnoDB index.
   624  	innodb_sort_buffer_size?: int & >=65536 & <=67108864
   625  
   626  	// The maximum delay between polls for a spin lock.
   627  	innodb_spin_wait_delay?: int & >=0 & <=4294967295
   628  
   629  	// Causes InnoDB to automatically recalculate persistent statistics after the data in a table is changed substantially.
   630  	innodb_stats_auto_recalc?: string & "0" | "1" | "OFF" | "ON"
   631  
   632  	// When innodb_stats_include_delete_marked is enabled, ANALYZE TABLE considers delete-marked records when recalculating statistics.
   633  	innodb_stats_include_delete_marked: string & "0" | "1" | "OFF" | "ON" | *"0"
   634  
   635  	// How the server treats NULL values when collecting statistics about the distribution of index values for InnoDB tables.
   636  	innodb_stats_method?: string & "nulls_equal" | "nulls_unequal" | "nulls_ignored"
   637  
   638  	// Controls whether table and index stats are updated when getting status information via SHOW STATUS or the INFORMATION_SCHEMA
   639  	innodb_stats_on_metadata?: string & "0" | "1" | "OFF" | "ON"
   640  
   641  	// Specifies whether the InnoDB index statistics produced by the ANALYZE TABLE command are stored on disk.
   642  	innodb_stats_persistent?: string & "OFF" | "ON" | "0" | "1"
   643  
   644  	// The number of index pages to sample when estimating cardinality and other statistics for an indexed column, such as those calculated by ANALYZE TABLE.
   645  	innodb_stats_persistent_sample_pages?: int & >=0 & <=18446744073709551615
   646  
   647  	// The number of index pages to sample when estimating cardinality and other statistics for an indexed column, such as those calculated by ANALYZE TABLE.
   648  	innodb_stats_transient_sample_pages?: int & >=0 & <=18446744073709551615
   649  
   650  	// Enables or disables periodic output for the standard InnoDB Monitor.
   651  	innodb_status_output?: string & "0" | "1" | "OFF" | "ON"
   652  
   653  	// Enables or disables the InnoDB Lock Monitor.
   654  	innodb_status_output_locks?: string & "0" | "1" | "OFF" | "ON"
   655  
   656  	// Whether InnoDB returns errors rather than warnings for exceptional conditions.
   657  	innodb_strict_mode?: string & "0" | "1" | "OFF" | "ON"
   658  
   659  	// Splits an internal data structure used to coordinate threads, for higher concurrency in workloads with large numbers of waiting threads.
   660  	innodb_sync_array_size?: int & >=1 & <=1024
   661  
   662  	// The number of times a thread waits for an innodb mutex to be freed before the thread is suspended
   663  	innodb_sync_spin_loops?: int & >=0 & <=9223372036854775807
   664  
   665  	// If autocommit = 0, innodb honors LOCK TABLES
   666  	innodb_table_locks?: string & "0" | "1" | "OFF" | "ON"
   667  
   668  	// Specifies the path, file name, and file size for InnoDB temporary table tablespace data files.
   669  	innodb_temp_data_file_path?: string
   670  
   671  	// The number of threads that can enter innodb concurrently
   672  	innodb_thread_concurrency?: int & >=0 & <=1000
   673  
   674  	// How long innodb threads sleep before joining the innodb queue, in microseconds.
   675  	innodb_thread_sleep_delay?: int & >=0 & <=9223372036854775807
   676  
   677  	innodb_tmpdir?: string
   678  
   679  	// The relative or absolute directory path where InnoDB creates separate tablespaces for the undo logs
   680  	innodb_undo_directory?: string
   681  
   682  	// Controls encryption of undo log data for tables encrypted using the InnoDB tablespace encryption feature.
   683  	innodb_undo_log_encrypt: string & "0" | "1" | "OFF" | "ON" | *"0"
   684  
   685  	// Undo tablespaces that exceed the threshold value defined by innodb_max_undo_log_size are marked for truncation.
   686  	innodb_undo_log_truncate?: string & "0" | "1" | "OFF" | "ON"
   687  
   688  	// The number of tablespace files that the undo logs are divided between, when you use a non-zero innodb_undo_logs setting.
   689  	innodb_undo_tablespaces?: int & >=0 & <=126
   690  
   691  	// Controls whether or not MySQL uses Linux native asynchronous IO.
   692  	innodb_use_native_aio?: string & "0" | "1" | "OFF" | "ON"
   693  
   694  	// The number of I/O threads for write operations in InnoDB.
   695  	innodb_write_io_threads?: int & >=1 & <=64
   696  
   697  	// Number of seconds the server waits for activity on an interactive connection before closing it.
   698  	interactive_timeout?: int & >=1 & <=31536000
   699  
   700  	// The default storage engine for in-memory internal temporary tables.
   701  	internal_tmp_mem_storage_engine?: string & "TempTable" | "MEMORY"
   702  
   703  	// Increase the value of join_buffer_size to get a faster full join when adding indexes is not possible.
   704  	join_buffer_size?: int & >=128 & <=18446744073709547520
   705  
   706  	// Suppress behavior to overwrite MyISAM file created in DATA DIRECTORY or INDEX DIRECTORY.
   707  	keep_files_on_create?: string & "0" | "1" | "OFF" | "ON"
   708  
   709  	// Increase the buffer size to get better index handling used for index blocks (for all reads and multiple writes).
   710  	key_buffer_size: int & >=8 & <=9223372036854771712 | *16777216
   711  
   712  	// Controls the demotion of buffers from the hot sub-chain of a key cache to the warm sub-chain. Lower values cause demotion to happen more quickly.
   713  	key_cache_age_threshold?: int & >=100 & <=18446744073709547520
   714  
   715  	// Size in bytes of blocks in the key cache.
   716  	key_cache_block_size?: int & >=512 & <=16384
   717  
   718  	// The division point between the hot and warm sub-chains of the key cache buffer chain. The value is the percentage of the buffer chain to use for the warm sub-chain.
   719  	key_cache_division_limit?: int & >=1 & <=100
   720  
   721  	keyring_operations: string & "0" | "1" | "OFF" | "ON" | *"1"
   722  
   723  	large_pages: string & "0" | "1" | "OFF" | "ON" | *"0"
   724  
   725  	lc_messages?: string
   726  
   727  	lc_messages_dir?: string
   728  
   729  	// This variable specifies the locale that controls the language used to display day and month names and abbreviations.
   730  	lc_time_names?: string & "ar_AE" | "ar_BH" | "ar_DZ" | "ar_EG" | "ar_IN" | "ar_IQ" | "ar_JO" | "ar_KW" | "ar_LB" | "ar_LY" | "ar_MA" | "ar_OM" | "ar_QA" | "ar_SA" | "ar_SD" | "ar_SY" | "ar_TN" | "ar_YE" | "be_BY" | "bg_BG" | "ca_ES" | "cs_CZ" | "da_DK" | "de_AT" | "de_BE" | "de_CH" | "de_DE" | "de_LU" | "el_GR" | "en_AU" | "en_CA" | "en_GB" | "en_IN" | "en_NZ" | "en_PH" | "en_US" | "en_ZA" | "en_ZW" | "es_AR" | "es_BO" | "es_CL" | "es_CO" | "es_CR" | "es_DO" | "es_EC" | "es_ES" | "es_GT" | "es_HN" | "es_MX" | "es_NI" | "es_PA" | "es_PE" | "es_PR" | "es_PY" | "es_SV" | "es_US" | "es_UY" | "es_VE" | "et_EE" | "eu_ES" | "fi_FI" | "fo_FO" | "fr_BE" | "fr_CA" | "fr_CH" | "fr_FR" | "fr_LU" | "gl_ES" | "gu_IN" | "he_IL" | "hi_IN" | "hr_HR" | "hu_HU" | "id_ID" | "is_IS" | "it_CH" | "it_IT" | "ja_JP" | "ko_KR" | "lt_LT" | "lv_LV" | "mk_MK" | "mn_MN" | "ms_MY" | "nb_NO" | "nl_BE" | "nl_NL" | "no_NO" | "pl_PL" | "pt_BR" | "pt_PT" | "ro_RO" | "ru_RU" | "ru_UA" | "sk_SK" | "sl_SI" | "sq_AL" | "sr_RS" | "sv_FI" | "sv_SE" | "ta_IN" | "te_IN" | "th_TH" | "tr_TR" | "uk_UA" | "ur_PK" | "vi_VN" | "zh_CN" | "zh_HK" | "zh_TW"
   731  
   732  	// Controls whetther LOCAL is supported for LOAD DATA INFILE
   733  	local_infile: string & "0" | "1" | "OFF" | "ON" | *"1"
   734  
   735  	// Specifies the timeout in seconds for attempts to acquire metadata locks
   736  	lock_wait_timeout?: int & >=1 & <=31536000
   737  
   738  	log_bin?: string
   739  
   740  	// Controls binary logging.
   741  	"log-bin"?: string
   742  
   743  	log_bin_basename?: string
   744  
   745  	log_bin_index?: string
   746  
   747  	// Enforces restrictions on stored functions / triggers - logging for replication.
   748  	log_bin_trust_function_creators?: string & "0" | "1" | "OFF" | "ON"
   749  
   750  	// Whether MySQL writes binary log events using a Version 1 or Version 2 logging events
   751  	log_bin_use_v1_row_events?: string & "0" | "1" | "OFF" | "ON"
   752  
   753  	// Location of error log.
   754  	log_error?: string
   755  
   756  	log_error_services?: string
   757  
   758  	// Controls verbosity of the server in writing error, warning, and note messages to the error log.
   759  	log_error_verbosity?: int & >=1 & <=3
   760  
   761  	// Controls where to store query logs
   762  	log_output?: string & "TABLE" | "FILE" | "NONE"
   763  
   764  	// Logs queries that are expected to retrieve all rows to slow query log
   765  	log_queries_not_using_indexes?: string & "0" | "1" | "OFF" | "ON"
   766  
   767  	// Allow for chain replication - ingression
   768  	log_slave_updates: string & "0" | "1" | "OFF" | "ON" | *"1"
   769  
   770  	// Include slow administrative statements in the statements written to the slow query log.
   771  	log_slow_admin_statements?: string & "0" | "1" | "OFF" | "ON"
   772  
   773  	// When the slow query log is enabled and the output destination as FILE, additional information related to the slow query is written to the slow query log file. TABLE output is unaffected.
   774  	log_slow_extra?: string & "ON" | "OFF"
   775  
   776  	// When the slow query log is enabled, this variable enables logging for queries that have taken more than long_query_time seconds to execute on the slave.
   777  	log_slow_slave_statements?: string & "0" | "1" | "OFF" | "ON"
   778  
   779  	// If error 1592 is encountered, controls whether the generated warnings are added to the error log or not.
   780  	log_statements_unsafe_for_binlog: string & "0" | "1" | "OFF" | "ON" | *"0"
   781  
   782  	// Whether to write error log output to syslog.
   783  	log_syslog?: string & "0" | "1" | "OFF" | "ON"
   784  
   785  	// Limits the number of such queries per minute that can be written to the slow query log.
   786  	log_throttle_queries_not_using_indexes?: int & >=0 & <=4294967295
   787  
   788  	// This variable controls the timestamp time zone of error log messages, and of general query log and slow query log messages written to files.
   789  	log_timestamps?: string & "UTC" | "SYSTEM"
   790  
   791  	// Defines what MySQL considers long queries
   792  	long_query_time?: float & >=0 & <=3.1536e+07
   793  
   794  	lower_case_file_system?: string & "0" | "1" | "OFF" | "ON"
   795  
   796  	// Affects how the server handles identifier case sensitivity
   797  	lower_case_table_names?: int & >=0 & <=1
   798  
   799  	// INSERT, UPDATE, DELETE, and LOCK TABLE WRITE wait until no pending SELECT. Affects only storage engines that use only table-level locking (MyISAM, MEMORY, MERGE).
   800  	low_priority_updates?: string & "0" | "1" | "OFF" | "ON"
   801  
   802  	// All the specified roles are always considered granted to every user and they can't be revoked. Mandatory roles still require activation unless they are made into default roles. The granted roles will not be visible in the mysql.role_edges table.
   803  	mandatory_roles?: string
   804  
   805  	master_info_repository?: string
   806  
   807  	// This option causes the server to write its master info log to a file or a table.
   808  	"master-info-repository"?: string & "FILE" | "TABLE"
   809  
   810  	// Enabling this variable causes the master to examine checksums when reading from the binary log.
   811  	master_verify_checksum?: string & "0" | "1" | "OFF" | "ON"
   812  
   813  	// This value by default is small, to catch large (possibly incorrect) packets. Must be increased if using large BLOB columns or long strings. As big as largest BLOB.
   814  	max_allowed_packet?: int & >=16777216 & <=1073741824
   815  
   816  	// Maximum binlog cache size a transaction may use
   817  	max_binlog_cache_size?: int & >=4096 & <=18446744073709547520
   818  
   819  	// Server rotates the binlog once it reaches this size
   820  	max_binlog_size: int & >=4096 & <=1073741824 | *134217728
   821  
   822  	// If nontransactional statements within a transaction require more than this many bytes of memory, the server generates an error.
   823  	max_binlog_stmt_cache_size?: int & >=4096 & <=18446744073709547520
   824  
   825  	// A host is blocked from further connections if there are more than this number of interrupted connections
   826  	max_connect_errors?: int & >=1 & <=9223372036854775807
   827  
   828  	// The number of simultaneous client connections allowed.
   829  	max_connections?: int & >=1 & <=100000
   830  
   831  	// Do not start more than this number of threads to handle INSERT DELAYED statements.
   832  	max_delayed_threads?: int & >=0 & <=16384
   833  
   834  	// The maximum number of bytes available for computing statement digests.
   835  	max_digest_length: int & >=0 & <=1048576 | *1024
   836  
   837  	// The maximum number of error, warning, and note messages to be stored for display.
   838  	max_error_count?: int & >=0 & <=65535
   839  
   840  	// The execution timeout for SELECT statements, in milliseconds.
   841  	max_execution_time?: int & >=0 & <=18446744073709551615
   842  
   843  	// Maximum size to which MEMORY tables are allowed to grow.
   844  	max_heap_table_size?: int & >=16384 & <=1844674407370954752
   845  
   846  	// Synonym for max_delayed_threads
   847  	max_insert_delayed_threads?: int & >=0 & <=16384
   848  
   849  	// Catch SELECT statements where keys are not used properly and would probably take a long time.
   850  	max_join_size?: int & >=1 & <=18446744073709551615
   851  
   852  	// ORDER BY Optimization. The cutoff on the size of index values that determines which filesort algorithm to use.
   853  	max_length_for_sort_data?: int & >=4 & <=8388608
   854  
   855  	// The maximum value of the points_per_circle argument to the ST_Buffer_Strategy() function.
   856  	max_points_in_geometry?: int & >=3 & <=3145728
   857  
   858  	// Used if the potential for denial-of-service attacks based on running the server out of memory by preparing huge numbers of statements.
   859  	max_prepared_stmt_count?: int & >=0 & <=1048576
   860  
   861  	max_relay_log_size: int & >=0 & <=1073741824 | *0
   862  
   863  	// A low value can force MySQL to prefer indexes instead of table scans.
   864  	max_seeks_for_key?: int & >=1 & <=18446744073709547520
   865  
   866  	// The number of bytes to use when sorting BLOB or TEXT values.
   867  	max_sort_length?: int & >=4 & <=8388608
   868  
   869  	// Limits the number of times a stored procedure can be called recursively minimizing the demand on thread stack space.
   870  	max_sp_recursion_depth?: int & >=0 & <=255
   871  
   872  	// Maximum number of simultaneous connections allowed to any given MySQL account.
   873  	max_user_connections?: int & >=0 & <=4294967295
   874  
   875  	// After this many write locks, allow some pending read lock requests to be processed in between.
   876  	max_write_lock_count?: int & >=1 & <=18446744073709547520
   877  
   878  	// Defines the path to the mecabrc configuration file.
   879  	mecab_rc_file?: string & "0" | "1"
   880  
   881  	// Can be used to cause queries which examine fewer than the stated number of rows not to be logged.
   882  	min_examined_row_limit?: int & >=0 & <=18446744073709547520
   883  
   884  	// The default pointer size in bytes, to be used by CREATE TABLE for MyISAM tables when no MAX_ROWS option is specified.
   885  	myisam_data_pointer_size?: int & >=2 & <=7
   886  
   887  	// The maximum size of the temporary file that MySQL is allowed to use while re-creating a MyISAM index
   888  	myisam_max_sort_file_size?: int & >=0 & <=9223372036853727232
   889  
   890  	// Maximum amount of memory to use for memory mapping compressed MyISAM files
   891  	myisam_mmap_size?: int & >=7 & <=922337203685477807
   892  
   893  	myisam_repair_threads?: int & >=1 & <=18446744073709551615
   894  
   895  	// Size of the buffer that is allocated when sorting MyISAM indexes during a REPAIR TABLE or when creating indexes with CREATE INDEX or ALTER TABLE.
   896  	myisam_sort_buffer_size?: int & >=4 & <=9223372036854775807
   897  
   898  	// How the server treats NULL values when collecting statistics about the distribution of index values for MyISAM tables
   899  	myisam_stats_method?: string & "nulls_equal" | "nulls_unequal" | "nulls_ignored"
   900  
   901  	// Memory mapping for reading and writing MyISAM tables.
   902  	myisam_use_mmap?: string & "0" | "1" | "OFF" | "ON"
   903  
   904  	// This variable controls whether the mysql_native_password built-in authentication plugin supports proxy users.
   905  	mysql_native_password_proxy_users?: string & "0" | "1" | "OFF" | "ON"
   906  
   907  	mysqlx_bind_address?: string
   908  
   909  	mysqlx_connect_timeout: int & >=1 & <=1000000000 | *30
   910  
   911  	mysqlx_document_id_unique_prefix: int & >=0 & <=65535 | *0
   912  
   913  	mysqlx_idle_worker_thread_timeout: int & >=0 & <=3600 | *60
   914  
   915  	mysqlx_interactive_timeout: int & >=1 & <=2147483 | *28800
   916  
   917  	mysqlx_max_allowed_packet: int & >=512 & <=1073741824 | *1048576
   918  
   919  	mysqlx_max_connections: int & >=1 & <=65535 | *100
   920  
   921  	mysqlx_min_worker_threads: int & >=1 & <=100 | *2
   922  
   923  	mysqlx_port: int & >=1 & <=65535 | *33060
   924  
   925  	mysqlx_port_open_timeout: int & >=1 & <=120 | *0
   926  
   927  	mysqlx_read_timeout: int & >=30 & <=2147483 | *28800
   928  
   929  	mysqlx_socket?: string
   930  
   931  	mysqlx_ssl_ca?: string
   932  
   933  	mysqlx_ssl_capath?: string
   934  
   935  	mysqlx_ssl_cert?: string
   936  
   937  	mysqlx_ssl_crl?: string
   938  
   939  	mysqlx_ssl_crlpath?: string
   940  
   941  	mysqlx_ssl_key?: string
   942  
   943  	mysqlx_wait_timeout: int & >=1 & <=2147483 | *28800
   944  
   945  	mysqlx_write_timeout: int & >=1 & <=2147483 | *60
   946  
   947  	// This variable should not normally be changed. For use when very little memory is available. Set it to the expected length of statements sent by clients.
   948  	net_buffer_length?: int & >=1024 & <=1048576
   949  
   950  	// The number of seconds to wait for more data from a TCP/IP connection before aborting the read.
   951  	net_read_timeout?: int & >=1 & <=31536000
   952  
   953  	// If a read on a communication port is interrupted, retry this many times before giving up. This value should be set quite high on freebsd because internal interrupts are sent to all threads.
   954  	net_retry_count?: int & >=1 & <=9223372036854775807
   955  
   956  	// The number of seconds to wait on TCP/IP connections for a block to be written before aborting the write.
   957  	net_write_timeout?: int & >=1 & <=31536000
   958  
   959  	new?: string & "NEVER" | "AUTO" | "ALWAYS" | "0" | "1" | "2"
   960  
   961  	// Defines the n-gram token size for the n-gram full-text parser.
   962  	ngram_token_size?: int & >=1 & <=10
   963  
   964  	// Whether the server is in offline mode.
   965  	offline_mode?: string & "0" | "1" | "OFF" | "ON"
   966  
   967  	old_alter_table: string & "0" | "1" | "OFF" | "ON" | *"0"
   968  
   969  	// Enable old-style user limits.
   970  	"old-style-user-limits"?: string & "0" | "1" | "OFF" | "ON"
   971  
   972  	open_files_limit: int | *5000
   973  
   974  	// Controls the heuristics applied during query optimization to prune less-promising partial plans from the optimizer search space.
   975  	optimizer_prune_level?: string & "0" | "1" | "OFF" | "ON"
   976  
   977  	// The maximum depth of search performed by the query optimizer.
   978  	optimizer_search_depth?: int & >=0 & <=62
   979  
   980  	// Controls optimizer behavior.
   981  	optimizer_switch?: string & "default" | "batched_key_access=on" | "batched_key_access=off" | "block_nested_loop=on" | "block_nested_loop=off" | "condition_fanout_filter=on" | "condition_fanout_filter=off" | "derived_merge=on" | "derived_merge=off" | "duplicateweedout=on" | "duplicateweedout=off" | "engine_condition_pushdown=on" | "engine_condition_pushdown=off" | "firstmatch=on" | "firstmatch=off" | "index_condition_pushdown=on" | "index_condition_pushdown=off" | "index_merge=on" | "index_merge=off" | "index_merge_intersection=on" | "index_merge_intersection=off" | "index_merge_sort_union=on" | "index_merge_sort_union=off" | "index_merge_union=on" | "index_merge_union=off" | "loosescan=on" | "loosescan=off" | "materialization=on" | "materialization=off" | "mrr=on" | "mrr=off" | "mrr_cost_based=on" | "mrr_cost_based=off" | "semijoin=on" | "semijoin=off" | "subquery_materialization_cost_based=on" | "subquery_materialization_cost_based=off" | "use_index_extensions=on" | "use_index_extensions=off"
   982  
   983  	// Controls how statements are traced.
   984  	optimizer_trace?: string & "default" | "enabled=on" | "enabled=off" | "one_line=on" | "one_line=off"
   985  
   986  	// Controls optimizations during statement tracing.
   987  	optimizer_trace_features?: string & "default" | "greedy_search=on" | "greedy_search=off" | "range_optimizer=on" | "range_optimizer=off" | "dynamic_range=on" | "dynamic_range=off" | "repeated_subselect=on" | "repeated_subselect=off"
   988  
   989  	// Controls the limit on trace retention.
   990  	optimizer_trace_limit?: int & >=1 & <=9223372036854775807
   991  
   992  	// Maximum allowed cumulated size of stored optimizer traces
   993  	optimizer_trace_max_mem_size?: int & >=0 & <=18446744073709551615
   994  
   995  	// Controls the offset on trace retention.
   996  	optimizer_trace_offset?: int & >=-9223372036854775807 & <=9223372036854775807
   997  
   998  	// The time when the current transaction was committed on the originating replication master, measured in microseconds since the epoch.
   999  	original_commit_timestamp?: int
  1000  
  1001  	parser_max_mem_size: int & >=10000000 & <=18446744073709551615 | *18446744073709551615
  1002  
  1003  	// The number of old passwords to check in the history. Set to 0 (the default) to turn the checks off.
  1004  	password_history: int & >=0 & <=4294967295 | *0
  1005  
  1006  	// The minimum number of days that need to pass before a password can be reused. Set to 0 (the default) to turn the checks off.
  1007  	password_reuse_interval: int & >=0 & <=4294967295 | *0
  1008  
  1009  	// Enables or disables the Performance Schema
  1010  	performance_schema: string & "0" | "1" | "OFF" | "ON" | *"0"
  1011  
  1012  	// The number of rows in the Performance Schema accounts table.
  1013  	performance_schema_accounts_size?: int & >=-1 & <=1048576
  1014  
  1015  	// The maximum number of rows in the events_statements_summary_by_digest table.
  1016  	performance_schema_digests_size?: int & >=-1 & <=1048576
  1017  
  1018  	// Number of server errors instrumented.
  1019  	performance_schema_error_size: int & >=0 & <=1048576 | *0
  1020  
  1021  	// The number of rows in the events_stages_history_long table.
  1022  	performance_schema_events_stages_history_long_size?: int & >=-1 & <=1048576
  1023  
  1024  	// The number of rows per thread in the events_stages_history table.
  1025  	performance_schema_events_stages_history_size?: int & >=-1 & <=1024
  1026  
  1027  	// The number of rows in the events_statements_history_long table.
  1028  	performance_schema_events_statements_history_long_size?: int & >=-1 & <=1048576
  1029  
  1030  	// The number of rows per thread in the events_statements_history table.
  1031  	performance_schema_events_statements_history_size?: int & >=-1 & <=1024
  1032  
  1033  	// The number of rows in the events_transactions_history_long table.
  1034  	performance_schema_events_transactions_history_long_size?: int & >=-1 & <=1048576
  1035  
  1036  	// The number of rows per thread in the events_transactions_history table.
  1037  	performance_schema_events_transactions_history_size?: int & >=-1 & <=1024
  1038  
  1039  	// The number of rows in the events_waits_history_long table.
  1040  	performance_schema_events_waits_history_long_size?: int & >=-1 & <=1048576
  1041  
  1042  	// The number of rows per thread in the events_waits_history table.
  1043  	performance_schema_events_waits_history_size?: int & >=-1 & <=1024
  1044  
  1045  	// The number of rows in the hosts table.
  1046  	performance_schema_hosts_size?: int & >=-1 & <=1048576
  1047  
  1048  	// The maximum number of condition instruments.
  1049  	performance_schema_max_cond_classes?: int & >=0 & <=256
  1050  
  1051  	// The maximum number of instrumented condition objects.
  1052  	performance_schema_max_cond_instances?: int & >=-1 & <=1048576
  1053  
  1054  	// The maximum number of bytes available for computing statement digests.
  1055  	performance_schema_max_digest_length?: int & >=-1 & <=1048576
  1056  
  1057  	// The time in seconds after which a previous query sample is considered old. When the value is 0, queries are sampled once. When the value is greater than zero, queries are re sampled if the last sample is more than performance_schema_max_digest_sample_age seconds old.
  1058  	performance_schema_max_digest_sample_age: int & >=0 & <=1048576 | *60
  1059  
  1060  	// The maximum number of file instruments.
  1061  	performance_schema_max_file_classes?: int & >=0 & <=256
  1062  
  1063  	// The maximum number of opened file objects.
  1064  	performance_schema_max_file_handles?: int & >=0 & <=1048576
  1065  
  1066  	// The maximum number of instrumented file objects.
  1067  	performance_schema_max_file_instances?: int & >=-1 & <=1048576
  1068  
  1069  	// The maximum number of indexes for which the Performance Schema maintains statistics.
  1070  	performance_schema_max_index_stat?: int & >=-1 & <=1048576
  1071  
  1072  	// The maximum number of memory instruments.
  1073  	performance_schema_max_memory_classes?: int & >=-1 & <=1024
  1074  
  1075  	// The maximum number of metadata lock instruments.
  1076  	performance_schema_max_metadata_locks?: int & >=-1 & <=104857600
  1077  
  1078  	// The maximum number of mutex instruments.
  1079  	performance_schema_max_mutex_classes?: int & >=0 & <=256
  1080  
  1081  	// The maximum number of instrumented mutex objects.
  1082  	performance_schema_max_mutex_instances?: int & >=-1 & <=104857600
  1083  
  1084  	// The maximum number of rows in the prepared_statements_instances table.
  1085  	performance_schema_max_prepared_statements_instances?: int & >=-1 & <=1048576
  1086  
  1087  	// The maximum number of stored programs for which the Performance Schema maintains statistics.
  1088  	performance_schema_max_program_instances?: int & >=-1 & <=1048576
  1089  
  1090  	// The maximum number of rwlock instruments.
  1091  	performance_schema_max_rwlock_classes?: int & >=0 & <=256
  1092  
  1093  	// The maximum number of instrumented rwlock objects.
  1094  	performance_schema_max_rwlock_instances?: int & >=-1 & <=104857600
  1095  
  1096  	// The maximum number of socket instruments.
  1097  	performance_schema_max_socket_classes?: int & >=0 & <=256
  1098  
  1099  	// The maximum number of instrumented socket objects.
  1100  	performance_schema_max_socket_instances?: int & >=-1 & <=1048576
  1101  
  1102  	// The maximum number of bytes used to store SQL statements in the SQL_TEXT column of the events_statements_current, events_statements_history, and events_statements_history_long statement event tables.
  1103  	performance_schema_max_sql_text_length?: int & >=-1 & <=1048576
  1104  
  1105  	// The maximum number of stage instruments.
  1106  	performance_schema_max_stage_classes?: int & >=0 & <=256
  1107  
  1108  	// The maximum number of statement instruments.
  1109  	performance_schema_max_statement_classes?: int & >=0 & <=256
  1110  
  1111  	// The maximum depth of nested stored program calls for which the Performance Schema maintains statistics.
  1112  	performance_schema_max_statement_stack?: int & >=1 & <=256
  1113  
  1114  	// The maximum number of opened table objects.
  1115  	performance_schema_max_table_handles?: int & >=-1 & <=1048576
  1116  
  1117  	// The maximum number of instrumented table objects.
  1118  	performance_schema_max_table_instances?: int & >=-1 & <=1048576
  1119  
  1120  	// The maximum number of tables for which the Performance Schema maintains lock statistics.
  1121  	performance_schema_max_table_lock_stat?: int & >=-1 & <=1048576
  1122  
  1123  	// The maximum number of thread instruments.
  1124  	performance_schema_max_thread_classes?: int & >=0 & <=256
  1125  
  1126  	// The maximum number of instrumented thread objects.
  1127  	performance_schema_max_thread_instances?: int & >=-1 & <=1048576
  1128  
  1129  	// The amount of preallocated memory per thread used to hold connection attribute strings.
  1130  	performance_schema_session_connect_attrs_size?: int & >=-1 & <=1048576
  1131  
  1132  	// The number of rows in the setup_actors table.
  1133  	performance_schema_setup_actors_size?: int & >=0 & <=1024
  1134  
  1135  	// The number of rows in the setup_objects table.
  1136  	performance_schema_setup_objects_size?: int & >=-1 & <=1048576
  1137  
  1138  	// The number of rows in the users table.
  1139  	performance_schema_users_size?: int & >=-1 & <=1048576
  1140  
  1141  	// Whether to load persisted configuration settings from the mysqld-auto.cnf file in the data directory.
  1142  	persisted_globals_load: string & "0" | "1" | "OFF" | "ON" | *"0"
  1143  
  1144  	// The path name of the process ID file. This file is used by other programs such as MySQLd_safe to determine the server's process ID.
  1145  	pid_file?: string
  1146  
  1147  	// Directory searched by systems dynamic linker for UDF object files. Otherwise, user-defined function object files must be located the default directory.
  1148  	plugin_dir?: string
  1149  
  1150  	// The number of the port on which the server listens for TCP/IP connections.
  1151  	port?: int
  1152  
  1153  	// The size of the buffer that is allocated when preloading indexes.
  1154  	preload_buffer_size?: int & >=1024 & <=1073741824
  1155  
  1156  	// The number of statements for which to maintain profiling if profiling is enabled.
  1157  	profiling_history_size?: int & >=0 & <=100
  1158  
  1159  	protocol_version?: int
  1160  
  1161  	// The allocation size of memory blocks that are allocated for objects created during statement parsing and execution. May help resolve fragmentation problems.
  1162  	query_alloc_block_size?: int & >=1024 & <=4294967295
  1163  
  1164  	// Increased size might help improve perf for complex queries (i.e. Reduces server memory allocation)
  1165  	query_prealloc_size?: int & >=8192 & <=18446744073709547520
  1166  
  1167  	// The size of blocks that are allocated when doing range optimization.
  1168  	range_alloc_block_size?: int & >=1024 & <=4294967295
  1169  
  1170  	// The limit on memory consumption for the range optimizer.
  1171  	range_optimizer_max_mem_size?: int & >=0 & <=18446744073709551615
  1172  
  1173  	rbr_exec_mode?: string & "IDEMPOTENT" | "STRICT"
  1174  
  1175  	// When the rds.optimized_writes parameter is set to AUTO, the DB instance uses RDS Optimized Writes for DB instance classes and engine versions that support it. When this parameter is set to OFF, the DB instance doesn't use RDS Optimized Writes.
  1176  	"rds.optimized_writes"?: string & "AUTO" | "OFF"
  1177  
  1178  	// Each thread that does a sequential scan allocates this buffer. Increased value may help perf if performing many sequential scans.
  1179  	read_buffer_size: int & >=8200 & <=2147479552 | *262144
  1180  
  1181  	// When it is enabled, the server permits no updates except from updates performed by slave threads.
  1182  	read_only?: string & "0" | "1" | "{TrueIfReplica}"
  1183  
  1184  	// Avoids disk reads when reading rows in sorted order following a key-sort operation. Large values can improve ORDER BY perf.
  1185  	read_rnd_buffer_size: int & >=8200 & <=2147479552 | *524288
  1186  
  1187  	// Stack size limit for regular expressions matches.
  1188  	regexp_stack_limit: int & >=0 & <=2147483647 | *8000000
  1189  
  1190  	// Timeout for regular expressions matches, in steps of the match engine, typically on the order of milliseconds.
  1191  	regexp_time_limit: int & >=0 & <=2147483647 | *32
  1192  
  1193  	relay_log?: string
  1194  
  1195  	// The basename for the relay log.
  1196  	"relay-log"?: string
  1197  
  1198  	relay_log_basename?: string
  1199  
  1200  	relay_log_index?: string
  1201  
  1202  	relay_log_info_file?: string
  1203  
  1204  	// This option causes the server to log its relay log info to a file or a table.
  1205  	relay_log_info_repository?: string & "FILE" | "TABLE"
  1206  
  1207  	relay_log_purge: string & "0" | "1" | "OFF" | "ON" | *"TRUE"
  1208  
  1209  	// Enables automatic relay log recovery immediately following server startup.
  1210  	relay_log_recovery: string & "0" | "1" | "OFF" | "ON" | *"1"
  1211  
  1212  	relay_log_space_limit: int & >=0 & <=18446744073709551615 | *0
  1213  
  1214  	// Creates a replication filter using the name of a database
  1215  	"replicate-do-db"?: string
  1216  
  1217  	// Creates a replication filter using the name of a table
  1218  	"replicate-do-table"?: string
  1219  
  1220  	// Creates a replication ignore filter using the name of a database
  1221  	"replicate-ignore-db"?: string
  1222  
  1223  	// Creates a replication ignore filter using the name of a table
  1224  	"replicate-ignore-table"?: string
  1225  
  1226  	// Creates a replication filter using the pattern of a table name
  1227  	"replicate-wild-do-table"?: string
  1228  
  1229  	// Creates a replication ignore filter using the pattern of a table name
  1230  	"replicate-wild-ignore-table"?: string
  1231  
  1232  	report_host?: string
  1233  
  1234  	report_password?: string
  1235  
  1236  	report_port?: int & >=0 & <=65535
  1237  
  1238  	report_user?: string
  1239  
  1240  	// Whether client connections to the server are required to use some form of secure transport.
  1241  	require_secure_transport?: string & "0" | "1" | "OFF" | "ON"
  1242  
  1243  	resultset_metadata?: string & "FULL" | "NONE"
  1244  
  1245  	// The size for reads done from the binlog and relay log. It must be a multiple of 4kb. Making it larger might help with IO stalls while reading these files when they are not in the OS buffer cache.
  1246  	rpl_read_size: int & >=8192 & <=4294967295 | *8192
  1247  
  1248  	// The number of slave acknowledgments the master must receive per transaction before proceeding.
  1249  	rpl_semi_sync_master_wait_for_slave_count?: int & >=1 & <=65535
  1250  
  1251  	// Controls the point at which a semisynchronous replication master waits for slave acknowledgment of transaction receipt before returning a status to the client that committed the transaction.
  1252  	rpl_semi_sync_master_wait_point?: string & "AFTER_SYNC" | "AFTER_COMMIT"
  1253  
  1254  	// Control the length of time (in seconds) that STOP SLAVE waits before timing out by setting this variable.
  1255  	rpl_stop_slave_timeout?: int & >=2 & <=31536000
  1256  
  1257  	// If this option is enabled, a user cannot create new MySQL users by using the GRANT statement unless the user has the INSERT privilege for the mysql.user table or any column in the table.
  1258  	"safe-user-create"?: string & "0" | "1" | "OFF" | "ON"
  1259  
  1260  	// Defines a limit for the number of schema definition objects, both used and unused, that can be kept in the dictionary object cache.
  1261  	schema_definition_cache: int & >=256 & <=524288 | *256
  1262  
  1263  	// Limits the effect of LOAD_FILE(), LOAD_DATA, and SELECT ??? INTO OUTFILE to specified directory.
  1264  	secure_file_priv?: string
  1265  
  1266  	// Integer value used to identify the instance in a replication group
  1267  	server_id?: int
  1268  
  1269  	// Enables a tracker for capturing GTIDs and returning them in the OK packet.
  1270  	session_track_gtids?: string & "0" | "1" | "OFF" | "ON"
  1271  
  1272  	// Whether the server tracks changes to the default schema and notifies the client when changes occur.
  1273  	session_track_schema?: string & "0" | "1" | "OFF" | "ON"
  1274  
  1275  	// Whether the server tracks changes to the session state and notifies the client when changes occur.
  1276  	session_track_state_change?: string & "0" | "1" | "OFF" | "ON"
  1277  
  1278  	// Whether the server tracks changes to the session system variables and notifies the client when changes occur.
  1279  	session_track_system_variables?: string & "time_zone" | "autocommit" | "character_set_client" | "character_set_results" | "character_set_connection"
  1280  
  1281  	// Track changes to the transaction attributes.
  1282  	session_track_transaction_info?: string & "OFF" | "STATE" | "CHARACTERISTICS"
  1283  
  1284  	// Controls whether the server autogenerates RSA private/public key-pair files in the data directory.
  1285  	sha256_password_auto_generate_rsa_keys?: string & "0" | "1" | "OFF" | "ON"
  1286  
  1287  	sha256_password_private_key_path?: string
  1288  
  1289  	// Controls whether the sha256_password built-in authentication plugin supports proxy users.
  1290  	sha256_password_proxy_users?: string & "0" | "1" | "OFF" | "ON"
  1291  
  1292  	sha256_password_public_key_path?: string
  1293  
  1294  	// When this option is enabled, it increases the verbosity of 'SHOW CREATE TABLE'.
  1295  	show_create_table_verbosity: string & "0" | "1" | "OFF" | "ON" | *"0"
  1296  
  1297  	// Whether SHOW CREATE TABLE output includes comments to flag temporal columns found to be in pre-5.6.4 format.
  1298  	show_old_temporals?: string & "0" | "1" | "OFF" | "ON"
  1299  
  1300  	// Ignore character set information sent by the client.
  1301  	"skip-character-set-client-handshake"?: string & "0" | "1" | "OFF" | "ON"
  1302  
  1303  	// Uses OS locking instead of internal
  1304  	skip_external_locking?: string & "0" | "1" | "OFF" | "ON"
  1305  
  1306  	// Host names are not resolved. All Host column values in the grant tables must be IP numbers or localhost.
  1307  	skip_name_resolve?: string & "0" | "1" | "OFF" | "ON"
  1308  
  1309  	// SHOW DATABASES statement is allowed only to users who have the SHOW DATABASES privilege
  1310  	skip_show_database?: string & "0" | "1" | "OFF" | "ON"
  1311  
  1312  	// Tells the slave server not to start the slave threads when the server starts.
  1313  	"skip-slave-start": string & "0" | "1" | "OFF" | "ON" | *"1"
  1314  
  1315  	// Whether or not batched updates are enabled on replication slaves.
  1316  	slave_allow_batching?: string & "0" | "1" | "OFF" | "ON"
  1317  
  1318  	// Sets the maximum number of transactions that can be processed by a multi-threaded slave before a checkpoint operation is called to update its status as shown by SHOW SLAVE STATUS.
  1319  	slave_checkpoint_group?: int & >=32 & <=524280
  1320  
  1321  	// Sets the maximum time (in milliseconds) that is allowed to pass before a checkpoint operation is called to update the status of a multi-threaded slave as shown by SHOW SLAVE STATUS.
  1322  	slave_checkpoint_period?: int & >=1 & <=4294967295
  1323  
  1324  	// Whether to use compression of the slave/master protocol if both the slave and the master support it.
  1325  	slave_compressed_protocol?: string & "0" | "1" | "OFF" | "ON"
  1326  
  1327  	// slave_exec_mode controls how a replication thread resolves conflicts and errors during replication.
  1328  	slave_exec_mode?: string & "IDEMPOTENT" | "STRICT"
  1329  
  1330  	slave_load_tmpdir?: string
  1331  
  1332  	// The number of seconds to wait for more data from a master/slave connection before aborting the read.
  1333  	slave_net_timeout?: int & >=1 & <=31536000
  1334  
  1335  	// Enable parallel execution on the slave of all uncommitted threads already in the prepare phase, without violating consistency.
  1336  	slave_parallel_type?: string & "DATABASE" | "LOGICAL_CLOCK"
  1337  
  1338  	// Sets the number of slave worker threads for executing replication events (transactions) in parallel. Setting this variable to 0 (the default) disables parallel execution.
  1339  	slave_parallel_workers?: int & >=0 & <=1024
  1340  
  1341  	// For multithreaded slaves, this option sets the maximum amount of memory (in bytes) available to slave worker queues holding events not yet applied.
  1342  	slave_pending_jobs_size_max?: int & >=1024 & <=18446744073709547520
  1343  
  1344  	// Enable parallel execution on the slave of all uncommitted threads already in the prepare phase, without violating consistency.
  1345  	slave_preserve_commit_order?: string & "0" | "1" | "OFF" | "ON"
  1346  
  1347  	// When preparing batches of rows for row-based logging and replication, this variable controls how the rows are searched for matches???that is, whether or not hashing is used for searches using a primary or unique key, using some other key, or using no key at all.
  1348  	slave_rows_search_algorithms?: string & "TABLE_SCAN" | "INDEX_SCAN" | "HASH_SCAN"
  1349  
  1350  	// When this option is enabled, the slave examines checksums read from the relay log, in the event of a mismatch, the slave stops with an error.
  1351  	slave_sql_verify_checksum?: string & "0" | "1" | "OFF" | "ON"
  1352  
  1353  	// If a replication slave SQL thread fails to execute a transaction because of an InnoDB deadlock or because the transaction's execution time exceeded InnoDB's innodb_lock_wait_timeout, it automatically retries slave_transaction_retries times before stopping with an error.
  1354  	slave_transaction_retries?: int & >=0 & <=18446744073709551615
  1355  
  1356  	// Controls the type conversion mode in effect on the slave when using row-based replication
  1357  	slave_type_conversions?: string & "ALL_LOSSY" | "ALL_NON_LOSSY" | "ALL_SIGNED" | "ALL_UNSIGNED"
  1358  
  1359  	// Increments Slow_launch_threads if creating thread takes longer than this many seconds.
  1360  	slow_launch_time?: int & >=0 & <=31536000
  1361  
  1362  	// Enable or disable the slow query log
  1363  	slow_query_log?: string & "0" | "1" | "OFF" | "ON"
  1364  
  1365  	// Location of the mysql slow query log file.
  1366  	slow_query_log_file?: string
  1367  
  1368  	// (UNIX) socket file and (WINDOWS) named pipe used for local connections.
  1369  	socket?: string
  1370  
  1371  	// Larger value improves perf for ORDER BY or GROUP BY operations.
  1372  	sort_buffer_size?: int & >=32768 & <=18446744073709551615
  1373  
  1374  	sql_auto_is_null: string & "0" | "1" | "OFF" | "ON" | *"0"
  1375  
  1376  	sql_big_selects: int & >=1 & <=18446744073709551615 | *18446744073709551615
  1377  
  1378  	sql_buffer_result: string & "0" | "1" | "OFF" | "ON" | *"0"
  1379  
  1380  	sql_log_off: string & "0" | "1" | "OFF" | "ON" | *"0"
  1381  
  1382  	// Current SQL Server Mode.
  1383  	sql_mode?: string & "ALLOW_INVALID_DATES" | "ANSI_QUOTES" | "ERROR_FOR_DIVISION_BY_ZERO" | "HIGH_NOT_PRECEDENCE" | "IGNORE_SPACE" | "NO_AUTO_VALUE_ON_ZERO" | "NO_BACKSLASH_ESCAPES" | "NO_DIR_IN_CREATE" | "NO_ENGINE_SUBSTITUTION" | "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" | "ANSI" | "TRADITIONAL"
  1384  
  1385  	sql_notes: string & "0" | "1" | "OFF" | "ON" | *"1"
  1386  
  1387  	sql_quote_show_create: string & "0" | "1" | "OFF" | "ON" | *"1"
  1388  
  1389  	// Whether statements that create new tables or alter the structure of existing tables enforce the requirement that tables have a primary key.
  1390  	sql_require_primary_key?: string & "0" | "1" | "OFF" | "ON"
  1391  
  1392  	sql_safe_updates: string & "0" | "1" | "OFF" | "ON" | *"0"
  1393  
  1394  	// The maximum number of rows to return from SELECT statements.
  1395  	sql_select_limit?: int & >=0 & <=18446744073709551615
  1396  
  1397  	sql_slave_skip_counter?: int
  1398  
  1399  	sql_warnings: string & "0" | "1" | "OFF" | "ON" | *"0"
  1400  
  1401  	ssl_ca?: string
  1402  
  1403  	ssl_capath?: string
  1404  
  1405  	ssl_cert?: string
  1406  
  1407  	// The list of permissible ciphers for encrypted connections that use TLS protocols up through TLSv1.2.
  1408  	ssl_cipher?: string & "ECDHE-RSA-AES256-GCM-SHA384" | "ECDHE-RSA-AES128-GCM-SHA256" | "ECDHE-RSA-AES256-SHA384" | "ECDHE-RSA-AES128-SHA256" | "ECDHE-RSA-AES256-SHA" | "ECDHE-RSA-AES128-SHA" | "AES256-GCM-SHA384" | "AES128-GCM-SHA256" | "AES256-SHA" | "AES128-SHA" | "DHE-RSA-AES128-SHA" | "DHE-RSA-AES256-SHA" | "DHE-DSS-AES128-SHA" | "DHE-DSS-AES256-SHA"
  1409  
  1410  	ssl_crl?: string
  1411  
  1412  	ssl_crlpath?: string
  1413  
  1414  	// Controls whether to enable FIPS mode on the server side.
  1415  	ssl_fips_mode?: string & "0" | "1" | "STRICT"
  1416  
  1417  	ssl_key?: string
  1418  
  1419  	// Sets a soft upper limit for the number of cached stored routines per connection.
  1420  	stored_program_cache?: int & >=256 & <=524288
  1421  
  1422  	// Defines a limit for the number of stored program definition objects, both used and unused, that can be kept in the dictionary object cache.
  1423  	stored_program_definition_cache: int & >=256 & <=524288 | *256
  1424  
  1425  	// Whether client connections to the server are required to use some form of secure transport.
  1426  	super_read_only?: string & "0" | "1" | "OFF" | "ON"
  1427  
  1428  	// Sync binlog (MySQL flush to disk or rely on OS)
  1429  	sync_binlog: int & >=0 & <=18446744073709547520 | *1
  1430  
  1431  	// If the value of this variable is greater than 0, a replication slave synchronizes its master.info file to disk (using fdatasync()) after every sync_master_info events.
  1432  	sync_master_info?: int & >=0 & <=18446744073709547520
  1433  
  1434  	// If the value of this variable is greater than 0, the MySQL server synchronizes its relay log to disk (using fdatasync()) after every sync_relay_log writes to the relay log.
  1435  	sync_relay_log?: int & >=0 & <=18446744073709547520
  1436  
  1437  	// If the value of this variable is greater than 0, a replication slave synchronizes its relay-log.info file to disk (using fdatasync()) after every sync_relay_log_info transactions.
  1438  	sync_relay_log_info?: int & >=0 & <=18446744073709547520
  1439  
  1440  	// Causes SYSYDATE() to be an alias for NOW(). Replication related
  1441  	"sysdate-is-now"?: string & "0" | "1" | "OFF" | "ON"
  1442  
  1443  	system_time_zone?: string
  1444  
  1445  	// The number of table definitions that can be stored in the definition cache
  1446  	table_definition_cache?: int & >=400 & <=524288
  1447  
  1448  	// The number of open tables for all threads. Increasing this value increases the number of file descriptors.
  1449  	table_open_cache?: int & >=1 & <=524288
  1450  
  1451  	// The number of open tables cache instances.
  1452  	table_open_cache_instances: int & >=1 & <=16 | *16
  1453  
  1454  	// Defines a limit for the number of tablespace definition objects, both used and unused, that can be kept in the dictionary object cache.
  1455  	tablespace_definition_cache: int & >=256 & <=524288 | *256
  1456  
  1457  	// Defines the maximum amount of memory (in bytes) the TempTable storage engine is permitted to allocate from memory-mapped temporary files before it starts storing data to InnoDB internal temporary tables on disk.
  1458  	temptable_max_mmap?: int & >=0 & <=18446744073709551615
  1459  
  1460  	// Maximum amount of memory (in bytes) the TempTable storage engine is allowed to allocate from the main memory (RAM) before starting to store data on disk.
  1461  	temptable_max_ram: int & >=2097152 & <=18446744073709547520 | *1073741824
  1462  
  1463  	// Number of threads to be cached. Doesn't improve perf for good thread implementations.
  1464  	thread_cache_size?: int & >=0 & <=16384
  1465  
  1466  	thread_handling?: string & "no-threads" | "one-thread-per-connection" | "loaded-dynamically"
  1467  
  1468  	// If the thread stack size is too small, it limits the complexity of the SQL statements that the server can handle, the recursion depth of stored procedures, and other memory-consuming actions.
  1469  	thread_stack: int & >=131072 & <=18446744073709547520 | *262144
  1470  
  1471  	// The server time zone
  1472  	time_zone?: string & "Africa/Cairo" | "Africa/Casablanca" | "Africa/Harare" | "Africa/Monrovia" | "Africa/Nairobi" | "Africa/Tripoli" | "Africa/Windhoek" | "America/Araguaina" | "America/Asuncion" | "America/Bogota" | "America/Buenos_Aires" | "America/Caracas" | "America/Chihuahua" | "America/Cuiaba" | "America/Denver" | "America/Fortaleza" | "America/Guatemala" | "America/Halifax" | "America/Manaus" | "America/Matamoros" | "America/Monterrey" | "America/Montevideo" | "America/Phoenix" | "America/Santiago" | "America/Tijuana" | "Asia/Amman" | "Asia/Ashgabat" | "Asia/Baghdad" | "Asia/Baku" | "Asia/Bangkok" | "Asia/Beirut" | "Asia/Calcutta" | "Asia/Damascus" | "Asia/Dhaka" | "Asia/Irkutsk" | "Asia/Jerusalem" | "Asia/Kabul" | "Asia/Karachi" | "Asia/Kathmandu" | "Asia/Krasnoyarsk" | "Asia/Magadan" | "Asia/Muscat" | "Asia/Novosibirsk" | "Asia/Riyadh" | "Asia/Seoul" | "Asia/Shanghai" | "Asia/Singapore" | "Asia/Taipei" | "Asia/Tehran" | "Asia/Tokyo" | "Asia/Ulaanbaatar" | "Asia/Vladivostok" | "Asia/Yakutsk" | "Asia/Yerevan" | "Atlantic/Azores" | "Australia/Adelaide" | "Australia/Brisbane" | "Australia/Darwin" | "Australia/Hobart" | "Australia/Perth" | "Australia/Sydney" | "Canada/Newfoundland" | "Canada/Saskatchewan" | "Canada/Yukon" | "Brazil/East" | "Europe/Amsterdam" | "Europe/Athens" | "Europe/Dublin" | "Europe/Helsinki" | "Europe/Istanbul" | "Europe/Kaliningrad" | "Europe/Moscow" | "Europe/Paris" | "Europe/Prague" | "Europe/Sarajevo" | "Pacific/Auckland" | "Pacific/Fiji" | "Pacific/Guam" | "Pacific/Honolulu" | "Pacific/Samoa" | "US/Alaska" | "US/Central" | "US/Eastern" | "US/East-Indiana" | "US/Pacific" | "UTC"
  1473  
  1474  	// The list of permissible ciphers for encrypted connections that use TLSv1.3.
  1475  	tls_ciphersuites?: string & "TLS_AES_128_GCM_SHA256" | "TLS_AES_256_GCM_SHA384" | "TLS_CHACHA20_POLY1305_SHA256" | "TLS_AES_128_CCM_SHA256" | "TLS_AES_128_CCM_8_SHA256"
  1476  
  1477  	// The protocols permitted by the server for encrypted connections.
  1478  	tls_version?: string & "TLSv1" | "TLSv1.1" | "TLSv1.2" | "TLSv1.3"
  1479  
  1480  	// The directory used for temporary files and temporary tables
  1481  	tmpdir?: string
  1482  
  1483  	// If an in-memory temporary table exceeds the limit, MySQL automatically converts it to an on-disk MyISAM table. Increased value can improve perf for many advanced GROUP BY queries.
  1484  	tmp_table_size?: int & >=1024 & <=18446744073709551615
  1485  
  1486  	// The amount in bytes by which to increase a per-transaction memory pool which needs memory.
  1487  	transaction_alloc_block_size?: int & >=1024 & <=18446744073709547520
  1488  
  1489  	// Sets the default transaction isolation level.
  1490  	transaction_isolation?: string & "READ-UNCOMMITTED" | "READ-COMMITTED" | "REPEATABLE-READ" | "SERIALIZABLE"
  1491  
  1492  	// There is a per-transaction memory pool from which various transaction-related allocations take memory. For every allocation that cannot be satisfied from the pool because it has insufficient memory available, the pool is incremented.
  1493  	transaction_prealloc_size?: int & >=1024 & <=18446744073709547520
  1494  
  1495  	// Reserved for future use.
  1496  	transaction_write_set_extraction?: string & "OFF" | "MURMUR32"
  1497  
  1498  	unique_checks: string & "0" | "1" | "OFF" | "ON" | *"1"
  1499  
  1500  	// This variable controls whether updates to a view can be made when the view does not contain all columns of the primary key defined in the underlying table, if the update statement contains a LIMIT clause (Often generated by GUI tools).
  1501  	updatable_views_with_limit?: string & "0" | "1" | "OFF" | "ON"
  1502  
  1503  	// This option controls how the server loads the validate_password plugin at startup.
  1504  	"validate-password"?: string & "ON" | "OFF" | "FORCE" | "FORCE_PLUS_PERMANENT"
  1505  
  1506  	// The path name of the dictionary file used by the validate_password plugin for checking passwords.
  1507  	validate_password_dictionary_file?: string
  1508  
  1509  	// The minimum number of characters that validate_password requires passwords to have.
  1510  	validate_password_length?: int & >=0 & <=2147483647
  1511  
  1512  	// The minimum number of lowercase and uppercase characters that passwords checked by the validate_password plugin must have if the password policy is MEDIUM or stronger.
  1513  	validate_password_mixed_case_count?: int & >=0 & <=2147483647
  1514  
  1515  	// The minimum number of numeric (digit) characters that passwords checked by the validate_password plugin must have if the password policy is MEDIUM or stronger.
  1516  	validate_password_number_count?: int & >=0 & <=2147483647
  1517  
  1518  	// The password policy enforced by the validate_password plugin.
  1519  	validate_password_policy?: string & "LOW" | "MEDIUM" | "STRONG"
  1520  
  1521  	// The minimum number of nonalphanumeric characters that passwords checked by the validate_password plugin must have if the password policy is MEDIUM or stronger.
  1522  	validate_password_special_char_count?: int & >=0 & <=2147483647
  1523  
  1524  	version_comment?: string
  1525  
  1526  	version_compile_machine?: string
  1527  
  1528  	version_compile_os?: string
  1529  
  1530  	version_compile_zlib?: string
  1531  
  1532  	// The number of seconds the server waits for activity on a non-interactive TCP/IP or UNIX File connection before closing it.
  1533  	wait_timeout?: int & >=1 & <=31536000
  1534  
  1535  	// For SQL window functions, determines whether to enable inversion optimization for moving window frames also for floating values.
  1536  	windowing_use_high_precision: string & "0" | "1" | "OFF" | "ON" | *"1"
  1537  
  1538  	// other parameters
  1539  	// reference mysql parameters
  1540  	...
  1541  }
  1542  
  1543  // SectionName is section name
  1544  [SectionName=_]: #MysqlParameter