[Yandex Cloud documentation](../../../index.md) > [Yandex Managed Service for MySQL®](../../index.md) > API reference > [REST](../index.md) > [Cluster](index.md) > Create

# Managed Service for MySQL API, REST: Cluster.Create

Creates a cluster in a folder.

## HTTP request

```
POST https://mdb.api.cloud.yandex.net/managed-mysql/v1/clusters
```

## Body parameters {#yandex.cloud.mdb.mysql.v1.CreateClusterRequest}

```json
{
  "folderId": "string",
  "name": "string",
  "description": "string",
  "labels": "object",
  "environment": "string",
  "configSpec": {
    "version": "string",
    // Includes only one of the fields `mysqlConfig_5_7`, `mysqlConfig_8_0`, `mysqlConfig_8_4`
    "mysqlConfig_5_7": {
      "innodbBufferPoolSize": "string",
      "maxConnections": "string",
      "longQueryTime": "number",
      "generalLog": "boolean",
      "auditLog": "boolean",
      "sqlMode": [
        "string"
      ],
      "maxAllowedPacket": "string",
      "defaultAuthenticationPlugin": "string",
      "innodbFlushLogAtTrxCommit": "string",
      "innodbLockWaitTimeout": "string",
      "transactionIsolation": "string",
      "innodbPrintAllDeadlocks": "boolean",
      "netReadTimeout": "string",
      "netWriteTimeout": "string",
      "groupConcatMaxLen": "string",
      "tmpTableSize": "string",
      "maxHeapTableSize": "string",
      "defaultTimeZone": "string",
      "characterSetServer": "string",
      "collationServer": "string",
      "innodbAdaptiveHashIndex": "boolean",
      "innodbNumaInterleave": "boolean",
      "innodbLogBufferSize": "string",
      "innodbLogFileSize": "string",
      "innodbIoCapacity": "string",
      "innodbIoCapacityMax": "string",
      "innodbReadIoThreads": "string",
      "innodbWriteIoThreads": "string",
      "innodbPurgeThreads": "string",
      "innodbThreadConcurrency": "string",
      "innodbTempDataFileMaxSize": "string",
      "threadCacheSize": "string",
      "threadStack": "string",
      "joinBufferSize": "string",
      "sortBufferSize": "string",
      "tableDefinitionCache": "string",
      "tableOpenCache": "string",
      "tableOpenCacheInstances": "string",
      "explicitDefaultsForTimestamp": "boolean",
      "autoIncrementIncrement": "string",
      "autoIncrementOffset": "string",
      "syncBinlog": "string",
      "binlogCacheSize": "string",
      "binlogGroupCommitSyncDelay": "string",
      "binlogRowImage": "string",
      "binlogRowsQueryLogEvents": "boolean",
      "rplSemiSyncMasterWaitForSlaveCount": "string",
      "slaveParallelType": "string",
      "slaveParallelWorkers": "string",
      "mdbPreserveBinlogBytes": "string",
      "interactiveTimeout": "string",
      "waitTimeout": "string",
      "mdbOfflineModeEnableLag": "string",
      "mdbOfflineModeDisableLag": "string",
      "rangeOptimizerMaxMemSize": "string",
      "innodbOnlineAlterLogMaxSize": "string",
      "innodbFtMinTokenSize": "string",
      "innodbFtMaxTokenSize": "string",
      "lowerCaseTableNames": "string",
      "showCompatibility_56": "boolean",
      "slowQueryLog": "boolean",
      "slowQueryLogAlwaysWriteTime": "number",
      "logSlowRateType": "string",
      "logSlowRateLimit": "string",
      "logSlowSpStatements": "boolean",
      "logSlowFilter": [
        "string"
      ],
      "mdbPriorityChoiceMaxLag": "string",
      "innodbPageSize": "string",
      "maxSpRecursionDepth": "string",
      "innodbCompressionLevel": "string",
      "binlogTransactionDependencyTracking": "string",
      "autocommit": "boolean",
      "innodbStatusOutput": "boolean",
      "innodbStrictMode": "boolean",
      "innodbPrintLockWaitTimeoutInfo": "boolean",
      "logErrorVerbosity": "string",
      "maxDigestLength": "string",
      "queryCacheLimit": "string",
      "queryCacheSize": "string",
      "queryCacheType": "string",
      "lockWaitTimeout": "string",
      "maxPreparedStmtCount": "string",
      "optimizerSwitch": "string",
      "optimizerSearchDepth": "string",
      "queryResponseTimeStats": "boolean",
      "userstat": "boolean",
      "maxExecutionTime": "string",
      "auditLogPolicy": "string",
      "innodbLruScanDepth": "string",
      "mdbForceSsl": "boolean",
      "innodbChangeBuffering": "string",
      "maxWriteLockCount": "string",
      "innodbAdaptiveHashIndexParts": "string"
    },
    "mysqlConfig_8_0": {
      "innodbBufferPoolSize": "string",
      "maxConnections": "string",
      "longQueryTime": "number",
      "generalLog": "boolean",
      "auditLog": "boolean",
      "sqlMode": [
        "string"
      ],
      "maxAllowedPacket": "string",
      "defaultAuthenticationPlugin": "string",
      "innodbFlushLogAtTrxCommit": "string",
      "innodbLockWaitTimeout": "string",
      "transactionIsolation": "string",
      "innodbPrintAllDeadlocks": "boolean",
      "netReadTimeout": "string",
      "netWriteTimeout": "string",
      "groupConcatMaxLen": "string",
      "tmpTableSize": "string",
      "maxHeapTableSize": "string",
      "defaultTimeZone": "string",
      "characterSetServer": "string",
      "collationServer": "string",
      "innodbAdaptiveHashIndex": "boolean",
      "innodbNumaInterleave": "boolean",
      "innodbLogBufferSize": "string",
      "innodbLogFileSize": "string",
      "innodbIoCapacity": "string",
      "innodbIoCapacityMax": "string",
      "innodbReadIoThreads": "string",
      "innodbWriteIoThreads": "string",
      "innodbPurgeThreads": "string",
      "innodbThreadConcurrency": "string",
      "innodbTempDataFileMaxSize": "string",
      "threadCacheSize": "string",
      "threadStack": "string",
      "joinBufferSize": "string",
      "sortBufferSize": "string",
      "tableDefinitionCache": "string",
      "tableOpenCache": "string",
      "tableOpenCacheInstances": "string",
      "explicitDefaultsForTimestamp": "boolean",
      "autoIncrementIncrement": "string",
      "autoIncrementOffset": "string",
      "syncBinlog": "string",
      "binlogCacheSize": "string",
      "binlogGroupCommitSyncDelay": "string",
      "binlogRowImage": "string",
      "binlogRowsQueryLogEvents": "boolean",
      "rplSemiSyncMasterWaitForSlaveCount": "string",
      "slaveParallelType": "string",
      "slaveParallelWorkers": "string",
      "regexpTimeLimit": "string",
      "mdbPreserveBinlogBytes": "string",
      "interactiveTimeout": "string",
      "waitTimeout": "string",
      "mdbOfflineModeEnableLag": "string",
      "mdbOfflineModeDisableLag": "string",
      "rangeOptimizerMaxMemSize": "string",
      "innodbOnlineAlterLogMaxSize": "string",
      "innodbFtMinTokenSize": "string",
      "innodbFtMaxTokenSize": "string",
      "lowerCaseTableNames": "string",
      "slowQueryLog": "boolean",
      "slowQueryLogAlwaysWriteTime": "number",
      "logSlowRateType": "string",
      "logSlowRateLimit": "string",
      "logSlowSpStatements": "boolean",
      "logSlowFilter": [
        "string"
      ],
      "mdbPriorityChoiceMaxLag": "string",
      "innodbPageSize": "string",
      "maxSpRecursionDepth": "string",
      "innodbCompressionLevel": "string",
      "binlogTransactionDependencyTracking": "string",
      "autocommit": "boolean",
      "innodbStatusOutput": "boolean",
      "innodbStrictMode": "boolean",
      "innodbPrintLockWaitTimeoutInfo": "boolean",
      "logErrorVerbosity": "string",
      "maxDigestLength": "string",
      "lockWaitTimeout": "string",
      "maxPreparedStmtCount": "string",
      "optimizerSwitch": "string",
      "optimizerSearchDepth": "string",
      "userstat": "boolean",
      "maxExecutionTime": "string",
      "auditLogPolicy": "string",
      "replicationSenderObserveCommitOnly": "boolean",
      "replicationOptimizeForStaticPluginConfig": "boolean",
      "innodbLruScanDepth": "string",
      "sqlRequirePrimaryKey": "boolean",
      "mdbForceSsl": "boolean",
      "innodbChangeBuffering": "string",
      "maxWriteLockCount": "string",
      "innodbAdaptiveHashIndexParts": "string"
    },
    "mysqlConfig_8_4": {
      "innodbBufferPoolSize": "string",
      "maxConnections": "string",
      "longQueryTime": "number",
      "auditLog": "boolean",
      "sqlMode": [
        "string"
      ],
      "maxAllowedPacket": "string",
      "innodbFlushLogAtTrxCommit": "string",
      "innodbLockWaitTimeout": "string",
      "transactionIsolation": "string",
      "innodbPrintAllDeadlocks": "boolean",
      "netReadTimeout": "string",
      "netWriteTimeout": "string",
      "groupConcatMaxLen": "string",
      "tmpTableSize": "string",
      "maxHeapTableSize": "string",
      "defaultTimeZone": "string",
      "characterSetServer": "string",
      "collationServer": "string",
      "innodbAdaptiveHashIndex": "boolean",
      "innodbNumaInterleave": "boolean",
      "innodbLogBufferSize": "string",
      "innodbLogFileSize": "string",
      "innodbIoCapacity": "string",
      "innodbIoCapacityMax": "string",
      "innodbReadIoThreads": "string",
      "innodbWriteIoThreads": "string",
      "innodbPurgeThreads": "string",
      "innodbThreadConcurrency": "string",
      "innodbTempDataFileMaxSize": "string",
      "threadCacheSize": "string",
      "threadStack": "string",
      "joinBufferSize": "string",
      "sortBufferSize": "string",
      "tableDefinitionCache": "string",
      "tableOpenCache": "string",
      "tableOpenCacheInstances": "string",
      "explicitDefaultsForTimestamp": "boolean",
      "autoIncrementIncrement": "string",
      "autoIncrementOffset": "string",
      "syncBinlog": "string",
      "binlogCacheSize": "string",
      "binlogGroupCommitSyncDelay": "string",
      "binlogRowImage": "string",
      "binlogRowsQueryLogEvents": "boolean",
      "rplSemiSyncMasterWaitForSlaveCount": "string",
      "slaveParallelType": "string",
      "slaveParallelWorkers": "string",
      "regexpTimeLimit": "string",
      "mdbPreserveBinlogBytes": "string",
      "interactiveTimeout": "string",
      "waitTimeout": "string",
      "mdbOfflineModeEnableLag": "string",
      "mdbOfflineModeDisableLag": "string",
      "rangeOptimizerMaxMemSize": "string",
      "innodbOnlineAlterLogMaxSize": "string",
      "innodbFtMinTokenSize": "string",
      "innodbFtMaxTokenSize": "string",
      "lowerCaseTableNames": "string",
      "slowQueryLog": "boolean",
      "slowQueryLogAlwaysWriteTime": "number",
      "logSlowRateType": "string",
      "logSlowRateLimit": "string",
      "logSlowSpStatements": "boolean",
      "logSlowFilter": [
        "string"
      ],
      "mdbPriorityChoiceMaxLag": "string",
      "innodbPageSize": "string",
      "maxSpRecursionDepth": "string",
      "innodbCompressionLevel": "string",
      "autocommit": "boolean",
      "innodbStatusOutput": "boolean",
      "innodbStrictMode": "boolean",
      "innodbPrintLockWaitTimeoutInfo": "boolean",
      "logErrorVerbosity": "string",
      "maxDigestLength": "string",
      "lockWaitTimeout": "string",
      "maxPreparedStmtCount": "string",
      "optimizerSwitch": "string",
      "optimizerSearchDepth": "string",
      "userstat": "boolean",
      "maxExecutionTime": "string",
      "auditLogPolicy": "string",
      "replicationSenderObserveCommitOnly": "boolean",
      "replicationOptimizeForStaticPluginConfig": "boolean",
      "innodbLruScanDepth": "string",
      "sqlRequirePrimaryKey": "boolean",
      "mdbUseAsyncReplication": "boolean",
      "mdbAsyncAllowedLag": "string",
      "mdbForceSsl": "boolean",
      "innodbChangeBuffering": "string",
      "maxWriteLockCount": "string",
      "innodbAdaptiveHashIndexParts": "string"
    },
    // end of the list of possible fields
    "resources": {
      "resourcePresetId": "string",
      "diskSize": "string",
      "diskTypeId": "string"
    },
    "backupWindowStart": {
      "hours": "integer",
      "minutes": "integer",
      "seconds": "integer",
      "nanos": "integer"
    },
    "access": {
      "dataLens": "boolean",
      "webSql": "boolean",
      "dataTransfer": "boolean",
      "yandexQuery": "boolean"
    },
    "performanceDiagnostics": {
      "enabled": "boolean",
      "sessionsSamplingInterval": "string",
      "statementsSamplingInterval": "string"
    },
    "backupRetainPeriodDays": "string",
    "diskSizeAutoscaling": {
      "plannedUsageThreshold": "string",
      "emergencyUsageThreshold": "string",
      "diskSizeLimit": "string"
    }
  },
  "databaseSpecs": [
    {
      "name": "string",
      "deletionProtectionMode": "string"
    }
  ],
  "userSpecs": [
    {
      "name": "string",
      "password": "string",
      "permissions": [
        {
          "databaseName": "string",
          "roles": [
            "string"
          ]
        }
      ],
      "globalPermissions": [
        "string"
      ],
      "connectionLimits": {
        "maxQuestionsPerHour": "string",
        "maxUpdatesPerHour": "string",
        "maxConnectionsPerHour": "string",
        "maxUserConnections": "string"
      },
      "authenticationPlugin": "string",
      "generatePassword": "boolean",
      "deletionProtectionMode": "string"
    }
  ],
  "hostSpecs": [
    {
      "zoneId": "string",
      "subnetId": "string",
      "assignPublicIp": "boolean",
      "replicationSource": "string",
      "backupPriority": "string",
      "priority": "string"
    }
  ],
  "networkId": "string",
  "securityGroupIds": [
    "string"
  ],
  "deletionProtection": "boolean",
  "hostGroupIds": [
    "string"
  ],
  "maintenanceWindow": {
    // Includes only one of the fields `anytime`, `weeklyMaintenanceWindow`
    "anytime": "object",
    "weeklyMaintenanceWindow": {
      "day": "string",
      "hour": "string"
    }
    // end of the list of possible fields
  },
  "diskEncryptionKeyId": "string",
  "retentionPolicies": [
    {
      "policyName": "string",
      "cron": {
        "dayOfMonth": "string",
        "month": "string",
        "dayOfWeek": "string"
      },
      "retainForDays": "string",
      "description": "string"
    }
  ]
}
```

#|
||Field | Description ||
|| folderId | **string**

Required field. ID of the folder to create the cluster in.
To get this ID, make a [yandex.cloud.resourcemanager.v1.FolderService.List](../../../resource-manager/api-ref/Folder/list.md#List) request.

The maximum string length in characters is 50. ||
|| name | **string**

Required field. Name of the cluster. The name must be unique within the folder.

The maximum string length in characters is 63. Value must match the regular expression ` [a-zA-Z0-9_-]* `. ||
|| description | **string**

Description of the cluster.

The maximum string length in characters is 256. ||
|| labels | **object** (map<**string**, **string**>)

Custom labels for the cluster as `key:value` pairs.

The maximum string length in characters for each value is 63. The string length in characters for each key must be 1-63. Each key must match the regular expression ` [a-z][-_./\@0-9a-z]* `. Each value must match the regular expression ` [-_./\@0-9a-z]* `. No more than 64 per resource. ||
|| environment | **enum** (Environment)

Deployment environment of the MySQL cluster.

- `PRODUCTION`: Environment for stable versions of your apps.
A conservative update policy is in effect: only bug fixes are applied during regular maintenance.
- `PRESTABLE`: Environment for testing, including the Managed Service for MySQL itself.
This environment gets new features, improvements, and bug fixes in the first place, compared to the production environment.
However, not every update ensures backward compatibility. ||
|| configSpec | **[ConfigSpec](#yandex.cloud.mdb.mysql.v1.ConfigSpec)**

Configuration of the cluster. ||
|| databaseSpecs[] | **[DatabaseSpec](#yandex.cloud.mdb.mysql.v1.DatabaseSpec)**

Configuration of databases in the cluster. ||
|| userSpecs[] | **[UserSpec](#yandex.cloud.mdb.mysql.v1.UserSpec)**

Configuration of database users in the cluster. ||
|| hostSpecs[] | **[HostSpec](#yandex.cloud.mdb.mysql.v1.HostSpec)**

Configuration of hosts in the cluster. ||
|| networkId | **string**

ID of the network to create the cluster in.

The maximum string length in characters is 50. ||
|| securityGroupIds[] | **string**

List of security group IDs to apply to the cluster. ||
|| deletionProtection | **boolean**

This option prevents unintended deletion of the cluster. ||
|| hostGroupIds[] | **string**

Host groups hosting VMs of the cluster. ||
|| maintenanceWindow | **[MaintenanceWindow](#yandex.cloud.mdb.mysql.v1.MaintenanceWindow)**

Window of maintenance operations. ||
|| diskEncryptionKeyId | **string**

ID of the key to encrypt cluster disks. ||
|| retentionPolicies[] | **[BackupRetentionPolicySpec](#yandex.cloud.mdb.v1.BackupRetentionPolicySpec)**

Backup long-term retention policies setting. ||
|#

## ConfigSpec {#yandex.cloud.mdb.mysql.v1.ConfigSpec}

#|
||Field | Description ||
|| version | **string**

Version of MySQL used in the cluster.
Possible values: `5.7`, `8.0`, `8.4`. ||
|| mysqlConfig_5_7 | **[MysqlConfig5_7](#yandex.cloud.mdb.mysql.v1.config.MysqlConfig5_7)**

Configuration for a MySQL 5.7 cluster.

Includes only one of the fields `mysqlConfig_5_7`, `mysqlConfig_8_0`, `mysqlConfig_8_4`.

Cluster-wide MySQL configuration. ||
|| mysqlConfig_8_0 | **[MysqlConfig8_0](#yandex.cloud.mdb.mysql.v1.config.MysqlConfig8_0)**

Configuration for a MySQL 8.0 cluster.

Includes only one of the fields `mysqlConfig_5_7`, `mysqlConfig_8_0`, `mysqlConfig_8_4`.

Cluster-wide MySQL configuration. ||
|| mysqlConfig_8_4 | **[MysqlConfig8_4](#yandex.cloud.mdb.mysql.v1.config.MysqlConfig8_4)**

Configuration for a MySQL 8.4 cluster.

Includes only one of the fields `mysqlConfig_5_7`, `mysqlConfig_8_0`, `mysqlConfig_8_4`.

Cluster-wide MySQL configuration. ||
|| resources | **[Resources](#yandex.cloud.mdb.mysql.v1.Resources)**

Resource preset for the cluster hosts. ||
|| backupWindowStart | **[TimeOfDay](#google.type.TimeOfDay)**

Time to start the daily backup, in the UTC timezone. ||
|| access | **[Access](#yandex.cloud.mdb.mysql.v1.Access)**

Access policy for external services.
If the specific services need to access the cluster, then set the necessary values in this policy. ||
|| performanceDiagnostics | **[PerformanceDiagnostics](#yandex.cloud.mdb.mysql.v1.PerformanceDiagnostics)**

Configuration of the performance diagnostics service. ||
|| backupRetainPeriodDays | **string** (int64)

Retention policy of automated backups.

Acceptable values are 7 to 60, inclusive. ||
|| diskSizeAutoscaling | **[DiskSizeAutoscaling](#yandex.cloud.mdb.mysql.v1.DiskSizeAutoscaling)**

Disk size autoscaling ||
|#

## MysqlConfig5_7 {#yandex.cloud.mdb.mysql.v1.config.MysqlConfig5_7}

Options and structure of `MysqlConfig5_7` reflects MySQL 5.7 configuration file.

#|
||Field | Description ||
|| innodbBufferPoolSize | **string** (int64)

Size of the InnoDB buffer pool used for caching table and index data.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_buffer_pool_size) for details.

The minimum value is 134217728. ||
|| maxConnections | **string** (int64)

The maximum permitted number of simultaneous client connections.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_connections) for details.

Acceptable values are 10 to 100000, inclusive. ||
|| longQueryTime | **number** (double)

Time that it takes to process a query before it is considered slow.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_long_query_time) for details.

Acceptable values are 0 to 3600, inclusive. ||
|| generalLog | **boolean**

Enable writing of general query log of MySQL.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_general_log) for details. ||
|| auditLog | **boolean**

Enable writing of audit log of MySQL.
See [MySQL documentation](https://dev.mysql.com/doc/mysql-security-excerpt/5.7/en/audit-log-reference.html#audit-log-options-variables) for details. ||
|| sqlMode[] | **enum** (SQLMode)

Server SQL mode of MySQL.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-setting) for details.

- `ALLOW_INVALID_DATES`: Allow dates where the day or month part is 0. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_allow_invalid_dates).
- `ANSI_QUOTES`: Treat `"` as an identifier quote character (like the `` ` `` quote character) rather than as a string quote character. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_ansi_quotes).
- `ERROR_FOR_DIVISION_BY_ZERO`: Produce an error for divisions by zero. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_error_for_division_by_zero).
- `HIGH_NOT_PRECEDENCE`: Give `NOT` higher precedence in negation than it has in non-high-precedence mode. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_high_not_precedence).
- `IGNORE_SPACE`: Allow spaces between a function name and the `(` character. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_ignore_space).
- `NO_AUTO_VALUE_ON_ZERO`: Do not reset the AUTO_INCREMENT column to 0 when inserting 0 into it. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_auto_value_on_zero).
- `NO_BACKSLASH_ESCAPES`: Disable the use of the backslash character (`\`) as an escape character within strings. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_backslash_escapes).
- `NO_ENGINE_SUBSTITUTION`: Do not substitute the default storage engine when a statement specifies a storage engine that is disabled or not compiled in. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_engine_substitution).
- `NO_UNSIGNED_SUBTRACTION`: Disable unsigned subtraction so that subtraction results are always signed. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_unsigned_subtraction).
- `NO_ZERO_DATE`: Disable the MySQL-specific date `0000-00-00`. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_zero_date).
- `NO_ZERO_IN_DATE`: Disable month or day parts of `0` in dates. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_zero_in_date).
- `NO_FIELD_OPTIONS`: Ignore field options in `CREATE TABLE` statements (MySQL 5.7 compatibility). See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_field_options).
- `NO_KEY_OPTIONS`: Ignore key options in `CREATE TABLE` statements (MySQL 5.7 compatibility). See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_key_options).
- `NO_TABLE_OPTIONS`: Ignore table options in `CREATE TABLE` statements (MySQL 5.7 compatibility). See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_table_options).
- `ONLY_FULL_GROUP_BY`: Reject queries for which the select list, `HAVING` condition, or `ORDER BY` list refer to non-aggregated columns that are not named in the `GROUP BY` clause. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_only_full_group_by).
- `PAD_CHAR_TO_FULL_LENGTH`: Pad `CHAR` column values with spaces to the full column length when retrieving them. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_pad_char_to_full_length).
- `PIPES_AS_CONCAT`: Treat `\|\|` as a string concatenation operator rather than as `OR`. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_pipes_as_concat).
- `REAL_AS_FLOAT`: Treat `REAL` as a synonym for `FLOAT` rather than `DOUBLE`. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_real_as_float).
- `STRICT_ALL_TABLES`: Strict mode for all storage engines. Invalid data values cause errors, not warnings. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_strict_all_tables).
- `STRICT_TRANS_TABLES`: Strict mode for transactional storage engines. Invalid data values cause errors, not warnings. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_strict_trans_tables).
- `ANSI`: Equivalent to `REAL_AS_FLOAT`, `PIPES_AS_CONCAT`, `ANSI_QUOTES`, `IGNORE_SPACE`, and `ONLY_FULL_GROUP_BY`. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_ansi).
- `TRADITIONAL`: Equivalent to `STRICT_TRANS_TABLES`, `STRICT_ALL_TABLES`, `NO_ZERO_IN_DATE`, `NO_ZERO_DATE`, `ERROR_FOR_DIVISION_BY_ZERO`, and `NO_AUTO_CREATE_USER`. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_traditional).
- `DB2`: IBM DB2 compatibility mode. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_db2).
- `MAXDB`: SAP MaxDB compatibility mode. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_maxdb).
- `MSSQL`: Microsoft SQL Server compatibility mode. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_mssql).
- `MYSQL323`: MySQL 3.23 compatibility mode. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_mysql323).
- `MYSQL40`: MySQL 4.0 compatibility mode. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_mysql40).
- `ORACLE`: Oracle compatibility mode. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_oracle).
- `POSTGRESQL`: PostgreSQL compatibility mode. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_postgresql).
- `NO_AUTO_CREATE_USER`: Prevent `GRANT` from creating new users implicitly. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_auto_create_user).
- `NO_DIR_IN_CREATE`: Prevent the use of `..` in directory paths in `CREATE TABLE` statements. See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_dir_in_create). ||
|| maxAllowedPacket | **string** (int64)

The maximum size in bytes of one packet.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_allowed_packet) for details.

Acceptable values are 1048576 to 1073741824, inclusive. ||
|| defaultAuthenticationPlugin | **enum** (AuthPlugin)

Authentication plugin used in the managed MySQL cluster.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_default_authentication_plugin) for details.

- `MYSQL_NATIVE_PASSWORD`: Using [Native Pluggable Authentication](https://dev.mysql.com/doc/refman/5.7/en/native-pluggable-authentication.html).
- `CACHING_SHA2_PASSWORD`: Using [Caching SHA-2 Pluggable Authentication](https://dev.mysql.com/doc/refman/5.7/en/caching-sha2-pluggable-authentication.html).
- `SHA256_PASSWORD`: Using [SHA-256 Pluggable Authentication](https://dev.mysql.com/doc/refman/5.7/en/sha256-pluggable-authentication.html).
- `MYSQL_NO_LOGIN`: Use [MYSQL_NO_LOGIN Pluggable Authentication](https://dev.mysql.com/doc/refman/5.7/en/no-login-pluggable-authentication.html).
- `MDB_IAMPROXY_AUTH`: Use [IAM Pluggable Authentication](../../../iam/concepts/authorization/index.md). ||
|| innodbFlushLogAtTrxCommit | **string** (int64)

Transaction log flush behaviour.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit) for details.

Acceptable values are 1 to 2, inclusive. ||
|| innodbLockWaitTimeout | **string** (int64)

Max time in seconds for a transaction to wait for a row lock.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_lock_wait_timeout) for details.

Acceptable values are 1 to 28800, inclusive. ||
|| transactionIsolation | **enum** (TransactionIsolation)

Default transaction isolation level.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_transaction_isolation) for details.

- `READ_COMMITTED`: Read committed isolation level. A consistent read within the same transaction reads the snapshot established by the first read.
- `REPEATABLE_READ`: Repeatable read isolation level. All consistent reads within the same transaction read the snapshot established by the first read.
- `SERIALIZABLE`: Serializable isolation level. All statements implicitly convert to SELECT ... FOR SHARE if autocommit is disabled. ||
|| innodbPrintAllDeadlocks | **boolean**

Print information about deadlocks in error log.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_print_all_deadlocks) for details. ||
|| netReadTimeout | **string** (int64)

The number of seconds to wait for more data from a connection before aborting the read.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_net_read_timeout) for details.

Acceptable values are 1 to 1200, inclusive. ||
|| netWriteTimeout | **string** (int64)

The number of seconds to wait for a block to be written to a connection before aborting the write.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_net_write_timeout) for details.

Acceptable values are 1 to 1200, inclusive. ||
|| groupConcatMaxLen | **string** (int64)

The maximum permitted result length in bytes for the GROUP_CONCAT() function.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_group_concat_max_len) for details.

Acceptable values are 4 to 33554432, inclusive. ||
|| tmpTableSize | **string** (int64)

The maximum size of internal in-memory temporary tables.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_tmp_table_size) for details.

Acceptable values are 1024 to 536870912, inclusive. ||
|| maxHeapTableSize | **string** (int64)

This variable sets the maximum size to which user-created MEMORY tables are permitted to grow.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_heap_table_size) for details.

Acceptable values are 16384 to 536870912, inclusive. ||
|| defaultTimeZone | **string**

The servers default time zone.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_default-time-zone) for details. ||
|| characterSetServer | **string**

The servers default character set.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_character_set_server) for details. ||
|| collationServer | **string**

The server default collation.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_collation_server) for details. ||
|| innodbAdaptiveHashIndex | **boolean**

Enables InnoDB adaptive hash index.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_adaptive_hash_index) for details. ||
|| innodbNumaInterleave | **boolean**

Enables the NUMA interleave memory policy for allocation of the InnoDB buffer pool.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_numa_interleave) for details. ||
|| innodbLogBufferSize | **string** (int64)

The size in bytes of the buffer that InnoDB uses to write to the log files on disk.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_log_buffer_size) for details.

Acceptable values are 1048576 to 268435456, inclusive. ||
|| innodbLogFileSize | **string** (int64)

The size in bytes of the single InnoDB Redo log file.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_log_file_size) for details.

Acceptable values are 268435456 to 8589934592, inclusive. ||
|| innodbIoCapacity | **string** (int64)

Limits IO available for InnoDB background tasks.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_io_capacity) for details.

Acceptable values are 100 to 100000, inclusive. ||
|| innodbIoCapacityMax | **string** (int64)

Limits IO available for InnoDB background tasks.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_io_capacity_max) for details.

Acceptable values are 100 to 100000, inclusive. ||
|| innodbReadIoThreads | **string** (int64)

The number of I/O threads for read operations in InnoDB.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_read_io_threads) for details.

Acceptable values are 1 to 16, inclusive. ||
|| innodbWriteIoThreads | **string** (int64)

The number of I/O threads for write operations in InnoDB.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_write_io_threads) for details.

Acceptable values are 1 to 16, inclusive. ||
|| innodbPurgeThreads | **string** (int64)

The number of background threads devoted to the InnoDB purge operation.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_purge_threads) for details.

Acceptable values are 1 to 16, inclusive. ||
|| innodbThreadConcurrency | **string** (int64)

Defines the maximum number of threads permitted inside of InnoDB.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_thread_concurrency) for details.

Acceptable values are 0 to 1000, inclusive. ||
|| innodbTempDataFileMaxSize | **string** (int64)

Limits the max size of InnoDB temp tablespace.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_temp_data_file_path) for details.

Acceptable values are 1073741824 to 107374182400, inclusive. ||
|| threadCacheSize | **string** (int64)

A number of threads the server should cache for reuse.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_thread_cache_size) for details.

Acceptable values are 10 to 10000, inclusive. ||
|| threadStack | **string** (int64)

The stack size for each thread. The default is large enough for normal operation.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_thread_stack) for details.

Acceptable values are 131072 to 16777216, inclusive. ||
|| joinBufferSize | **string** (int64)

The minimum size of the buffer that is used for plain index scans, range index scans, and joins that don't use indexes and thus perform full table scans.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_join_buffer_size) for details.

Acceptable values are 1024 to 16777216, inclusive. ||
|| sortBufferSize | **string** (int64)

Each session that must perform a sort allocates a buffer of this size.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_sort_buffer_size) for details.

Acceptable values are 1024 to 16777216, inclusive. ||
|| tableDefinitionCache | **string** (int64)

The number of table definitions that can be stored in the definition cache.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_table_definition_cache) for details.

Acceptable values are 400 to 524288, inclusive. ||
|| tableOpenCache | **string** (int64)

The number of open tables for all threads.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_table_open_cache) for details.

Acceptable values are 400 to 524288, inclusive. ||
|| tableOpenCacheInstances | **string** (int64)

The number of open tables cache instances.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_table_open_cache_instances) for details.

Acceptable values are 1 to 32, inclusive. ||
|| explicitDefaultsForTimestamp | **boolean**

Determines whether the server enables certain nonstandard behaviors for default values and NULL-value handling in TIMESTAMP columns.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp) for details. ||
|| autoIncrementIncrement | **string** (int64)

Can be used to control the operation of AUTO_INCREMENT columns.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/replication-options-source.html#sysvar_auto_increment_increment) for details.

Acceptable values are 1 to 65535, inclusive. ||
|| autoIncrementOffset | **string** (int64)

Can be used to control the operation of AUTO_INCREMENT columns.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/replication-options-source.html#sysvar_auto_increment_offset) for details.

Acceptable values are 1 to 65535, inclusive. ||
|| syncBinlog | **string** (int64)

Controls how often the MySQL server synchronizes the binary log to disk.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html#sysvar_sync_binlog) for details.

Acceptable values are 0 to 4096, inclusive. ||
|| binlogCacheSize | **string** (int64)

The size of the cache to hold changes to the binary log during a transaction.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html#sysvar_binlog_cache_size) for details.

Acceptable values are 4096 to 67108864, inclusive. ||
|| binlogGroupCommitSyncDelay | **string** (int64)

Controls how many microseconds the binary log commit waits before synchronizing the binary log file to disk.
See [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html#sysvar_binlog_group_commit_sync_delay) for details.

Acceptable values are 0 to 50000, inclusive. ||
|| binlogRowImage | **enum** (BinlogRowImage)

For MySQL row-based replication, this variable determines how row images are written to the binary log.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html#sysvar_binlog_row_image) for details.

- `FULL`: Log all columns (full row image).
- `MINIMAL`: Log only changed columns and columns needed to identify the row.
- `NOBLOB`: Log all columns except BLOB and TEXT columns. ||
|| binlogRowsQueryLogEvents | **boolean**

When enabled, it causes the server to write informational log events such as row query log events into its binary log.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html#sysvar_binlog_rows_query_log_events) for details. ||
|| rplSemiSyncMasterWaitForSlaveCount | **string** (int64)

The number of replica acknowledgments the source must receive per transaction before proceeding.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/replication-options-source.html#sysvar_rpl_semi_sync_master_wait_for_slave_count) for details.

The minimum value is 1. ||
|| slaveParallelType | **enum** (SlaveParallelType)

When using a multi-threaded replica, this variable specifies the policy used to decide which transactions are allowed to execute in parallel on the replica.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/replication-options-replica.html#sysvar_slave_parallel_type) for details.

- `DATABASE`: Transactions are parallelized per database (schema).
- `LOGICAL_CLOCK`: Transactions are parallelized using the logical clock algorithm based on the binary log group commit. ||
|| slaveParallelWorkers | **string** (int64)

Sets the number of applier threads for executing replication transactions in parallel.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/replication-options-replica.html#sysvar_slave_parallel_workers) for details.

Acceptable values are 0 to 64, inclusive. ||
|| mdbPreserveBinlogBytes | **string** (int64)

The size of the binary log to hold.

Acceptable values are 1073741824 to 1099511627776, inclusive. ||
|| interactiveTimeout | **string** (int64)

The number of seconds the server waits for activity on an interactive connection before closing it.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_interactive_timeout) for details.

Acceptable values are 600 to 86400, inclusive. ||
|| waitTimeout | **string** (int64)

The number of seconds the server waits for activity on a noninteractive connection before closing it.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_wait_timeout) for details.

Acceptable values are 600 to 86400, inclusive. ||
|| mdbOfflineModeEnableLag | **string** (int64)

Replication lag threshold (seconds) which will switch MySQL to 'offline_mode = ON' to prevent users from reading stale data.

Acceptable values are 30 to 86400, inclusive. ||
|| mdbOfflineModeDisableLag | **string** (int64)

Replication lag threshold (seconds) which will switch MySQL to 'offline_mode = OFF'.
Should be less than mdb_offline_mode_enable_lag value.

Acceptable values are 10 to 86400, inclusive. ||
|| rangeOptimizerMaxMemSize | **string** (int64)

The limit on memory consumption for the range optimizer.
See [MySQL documentation](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_range_optimizer_max_mem_size) for details.

Acceptable values are 60 to 268435456, inclusive. ||
|| innodbOnlineAlterLogMaxSize | **string** (int64)

The limit in bytes on the size of the temporary log files used during online DDL operations
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_online_alter_log_max_size).

Acceptable values are 65536 to 107374182400, inclusive. ||
|| innodbFtMinTokenSize | **string** (int64)

Minimum length of words that are stored in an InnoDB FULLTEXT index
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_ft_min_token_size).

Acceptable values are 0 to 16, inclusive. ||
|| innodbFtMaxTokenSize | **string** (int64)

Maximum length of words that are stored in an InnoDB FULLTEXT index
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_ft_max_token_size).

Acceptable values are 10 to 84, inclusive. ||
|| lowerCaseTableNames | **string** (int64)

Table names storage and comparison strategy
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_lower_case_table_names).

Acceptable values are 0 to 1, inclusive. ||
|| showCompatibility_56 | **boolean**

Manages MySQL 5.6 compatibility
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_show_compatibility_56). ||
|| slowQueryLog | **boolean**

Manages slow query log.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_slow_query_log) for details. ||
|| slowQueryLogAlwaysWriteTime | **number** (double)

Query execution time, after which query to be logged unconditionally, that is, `log_slow_rate_limit`` will not apply to it.
See [Percona documentation](https://www.percona.com/doc/percona-server/8.0/diagnostics/slow_extended.html#slow_query_log_always_write_time) for details.

Acceptable values are 0 to 3600, inclusive. ||
|| logSlowRateType | **enum** (LogSlowRateType)

Specifies slow log granularity for `log_slow_rate_limit` values QUERY or SESSION.
See [Percona documentation](https://www.percona.com/doc/percona-server/8.0/diagnostics/slow_extended.html#log_slow_rate_type) for details.

- `SESSION`: Logging is controlled per session.
- `QUERY`: Logging is controlled per query. ||
|| logSlowRateLimit | **string** (int64)

Specifies what fraction of session/query should be logged. Logging is enabled for every nth session/query.
See [Percona documentation](https://www.percona.com/doc/percona-server/8.0/diagnostics/slow_extended.html#log_slow_rate_limit) for details.

Acceptable values are 1 to 1000, inclusive. ||
|| logSlowSpStatements | **boolean**

When TRUE, statements executed by stored procedures are logged to the slow log.
See [Percona documentation](https://www.percona.com/doc/percona-server/8.0/diagnostics/slow_extended.html#log_slow_sp_statements) for details. ||
|| logSlowFilter[] | **enum** (LogSlowFilterType)

Filters the slow log by the query's execution plan.
See [Percona documentation](https://www.percona.com/doc/percona-server/8.0/diagnostics/slow_extended.html#log_slow_filter) for details.

- `FULL_SCAN`: Queries that perform a full table scan.
- `FULL_JOIN`: Queries that perform a full join (a join without indexes).
- `TMP_TABLE`: Queries that create an implicit internal temporary table.
- `TMP_TABLE_ON_DISK`: Queries that create an implicit internal temporary table on disk.
- `FILESORT`: Queries that use a filesort.
- `FILESORT_ON_DISK`: Queries that use a filesort on disk. ||
|| mdbPriorityChoiceMaxLag | **string** (int64)

Replication lag threshold (seconds) which allows replica to be promoted to master while executing "switchover from".
Should be less than mdb_offline_mode_disable_lag.

Acceptable values are 0 to 86400, inclusive. ||
|| innodbPageSize | **string** (int64)

Specifies the page size for InnoDB tablespaces.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_page_size).

Acceptable values are 4096 to 65536, inclusive. ||
|| maxSpRecursionDepth | **string** (int64)

The number of times that any given stored procedure may be called recursively.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_sp_recursion_depth).

Acceptable values are 0 to 255, inclusive. ||
|| innodbCompressionLevel | **string** (int64)

The level of zlib compression to use for InnoDB compressed tables and indexes.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_compression_level).

Acceptable values are 0 to 9, inclusive. ||
|| binlogTransactionDependencyTracking | **enum** (BinlogTransactionDependencyTracking)

Specifies how the source mysqld generates the dependency information that it writes in the binary log to help replicas determine which transactions can be executed in parallel.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html#sysvar_binlog_transaction_dependency_tracking).

- `COMMIT_ORDER`: Transactions are made dependent based on commit order.
- `WRITESET`: Transactions are made dependent based on the write set of rows modified by the transaction.
- `WRITESET_SESSION`: Transactions are made dependent based on the write set and the commit order within a session. ||
|| autocommit | **boolean**

Config specific will be all changes to a table take effect immediately or you must use COMMIT to accept a transaction or ROLLBACK to cancel it.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_autocommit). ||
|| innodbStatusOutput | **boolean**

Enables or disables periodic output for the standard InnoDB Monitor.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_status_output). ||
|| innodbStrictMode | **boolean**

When innodb_strict_mode is enabled, InnoDB returns errors rather than warnings when checking for invalid or incompatible table options.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_strict_mode). ||
|| innodbPrintLockWaitTimeoutInfo | **boolean**

Makes InnoDB to write information about all lock wait timeout errors into the log file.
For details, see [Percona documentation for the variable](https://docs.percona.com/percona-server/5.7/diagnostics/innodb_show_status.html?highlight=innodb_print_lock_wait_timeout_info). ||
|| logErrorVerbosity | **string** (int64)

System variable specifies the verbosity for handling events intended for the error log
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_log_error_verbosity).

Acceptable values are 2 to 3, inclusive. ||
|| maxDigestLength | **string** (int64)

The maximum number of bytes of memory reserved per session for computation of normalized statement digests.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_digest_length).

Acceptable values are 1024 to 1048576, inclusive. ||
|| queryCacheLimit | **string** (int64)

Do not cache results that are larger than this number of bytes.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_query_cache_limit).

Acceptable values are 0 to 4294967295, inclusive. ||
|| queryCacheSize | **string** (int64)

The amount of memory allocated for caching query results.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_query_cache_size). ||
|| queryCacheType | **string** (int64)

Set the query cache type.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_query_cache_type).

Acceptable values are 0 to 2, inclusive. ||
|| lockWaitTimeout | **string** (int64)

This variable specifies the timeout in seconds for attempts to acquire metadata locks
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_lock_wait_timeout).

Acceptable values are 1 to 31536000, inclusive. ||
|| maxPreparedStmtCount | **string** (int64)

This variable limits the total number of prepared statements in the server.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_prepared_stmt_count).

Acceptable values are 0 to 1048576, inclusive. ||
|| optimizerSwitch | **string**

The system variable enables control over optimizer behavior.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_optimizer_switch)
https://dev.mysql.com/doc/refman/5.7/en/switchable-optimizations.html ||
|| optimizerSearchDepth | **string** (int64)

The maximum depth of search performed by the query optimizer
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html)

Acceptable values are 0 to 62, inclusive. ||
|| queryResponseTimeStats | **boolean**

Enables and disables collection of query times
For details, see [Percona documentation for the variable](https://docs.percona.com/percona-server/5.7/diagnostics/response_time_distribution.html#query_response_time_stats). ||
|| userstat | **boolean**

Enables or disables collection of statistics
For details, see [Percona documentation for the variable](https://docs.percona.com/percona-server/5.7/diagnostics/user_stats.html#userstat). ||
|| maxExecutionTime | **string** (int64)

The execution timeout for SELECT statements, in milliseconds. If the value is 0, timeouts are not enabled.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_execution_time)

Acceptable values are 0 to 4294967295, inclusive. ||
|| auditLogPolicy | **enum** (AuditLogPolicy)

The policy controlling how the audit log plugin writes events to its log file
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/audit-log-reference.html#sysvar_audit_log_policy)

- `ALL`: Log all events.
- `LOGINS`: Log only login events.
- `QUERIES`: Log only query events.
- `NONE`: Do not log events. ||
|| innodbLruScanDepth | **string** (int64)

A parameter that influences the algorithms and heuristics for the flush operation for the InnoDB buffer pool
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_lru_scan_depth)

Acceptable values are 100 to 4294967295, inclusive. ||
|| mdbForceSsl | **boolean**

Force ssl on all hosts (require_secure_transport) ||
|| innodbChangeBuffering | **enum** (InnodbChangeBuffering)

An optimization for change buffering
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_change_buffering).

- `INNODB_CHANGE_BUFFERING_NONE`: Do not buffer any operations.
- `INNODB_CHANGE_BUFFERING_INSERTS`: Buffer insert operations.
- `INNODB_CHANGE_BUFFERING_DELETES`: Buffer delete-marking operations.
- `INNODB_CHANGE_BUFFERING_CHANGES`: Buffer insert and delete-marking operations.
- `INNODB_CHANGE_BUFFERING_PURGES`: Buffer operations where undo log records are discarded.
- `INNODB_CHANGE_BUFFERING_ALL`: Buffer all types of eligible operations. ||
|| maxWriteLockCount | **string** (int64)

Permit some pending read lock requests interval
P.S. Should be UInt64, but java fails to handle UInt64 limits
For details, see [Percona documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_write_lock_count).

The minimum value is 1. ||
|| innodbAdaptiveHashIndexParts | **string** (int64)

Partitions the adaptive hash index search system.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_adaptive_hash_index_parts)

Acceptable values are 1 to 512, inclusive. ||
|#

## MysqlConfig8_0 {#yandex.cloud.mdb.mysql.v1.config.MysqlConfig8_0}

Options and structure of `MysqlConfig8_0` reflects MySQL 8.0 configuration file.

#|
||Field | Description ||
|| innodbBufferPoolSize | **string** (int64)

Size of the InnoDB buffer pool used for caching table and index data.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_buffer_pool_size) for details.

The minimum value is 134217728. ||
|| maxConnections | **string** (int64)

The maximum permitted number of simultaneous client connections.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections) for details.

Acceptable values are 10 to 100000, inclusive. ||
|| longQueryTime | **number** (double)

Time that it takes to process a query before it is considered slow.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_long_query_time) for details.

Acceptable values are 0 to 3600, inclusive. ||
|| generalLog | **boolean**

Enable writing of general query log of MySQL.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_general_log) for details. ||
|| auditLog | **boolean**

Enable writing of audit log of MySQL.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/audit-log-reference.html#audit-log-options-variables) for details. ||
|| sqlMode[] | **enum** (SQLMode)

Server SQL mode of MySQL.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sql-mode-setting) for details.

- `ALLOW_INVALID_DATES`: Allow dates where the day or month part is 0. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_allow_invalid_dates).
- `ANSI_QUOTES`: Treat `"` as an identifier quote character (like the `` ` `` quote character) rather than as a string quote character. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_ansi_quotes).
- `ERROR_FOR_DIVISION_BY_ZERO`: Produce an error for divisions by zero. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_error_for_division_by_zero).
- `HIGH_NOT_PRECEDENCE`: Give `NOT` higher precedence in negation than it has in non-high-precedence mode. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_high_not_precedence).
- `IGNORE_SPACE`: Allow spaces between a function name and the `(` character. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_ignore_space).
- `NO_AUTO_VALUE_ON_ZERO`: Do not reset the AUTO_INCREMENT column to 0 when inserting 0 into it. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_no_auto_value_on_zero).
- `NO_BACKSLASH_ESCAPES`: Disable the use of the backslash character (`\`) as an escape character within strings. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_no_backslash_escapes).
- `NO_ENGINE_SUBSTITUTION`: Do not substitute the default storage engine when a statement specifies a storage engine that is disabled or not compiled in. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_no_engine_substitution).
- `NO_UNSIGNED_SUBTRACTION`: Disable unsigned subtraction so that subtraction results are always signed. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_no_unsigned_subtraction).
- `NO_ZERO_DATE`: Disable the MySQL-specific date `0000-00-00`. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_no_zero_date).
- `NO_ZERO_IN_DATE`: Disable month or day parts of `0` in dates. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_no_zero_in_date).
- `ONLY_FULL_GROUP_BY`: Reject queries for which the select list, `HAVING` condition, or `ORDER BY` list refer to non-aggregated columns that are not named in the `GROUP BY` clause. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_only_full_group_by).
- `PAD_CHAR_TO_FULL_LENGTH`: Pad `CHAR` column values with spaces to the full column length when retrieving them. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_pad_char_to_full_length).
- `PIPES_AS_CONCAT`: Treat `\|\|` as a string concatenation operator rather than as `OR`. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_pipes_as_concat).
- `REAL_AS_FLOAT`: Treat `REAL` as a synonym for `FLOAT` rather than `DOUBLE`. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_real_as_float).
- `STRICT_ALL_TABLES`: Strict mode for all storage engines. Invalid data values cause errors, not warnings. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_strict_all_tables).
- `STRICT_TRANS_TABLES`: Strict mode for transactional storage engines. Invalid data values cause errors, not warnings. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_strict_trans_tables).
- `TIME_TRUNCATE_FRACTIONAL`: Causes fractional seconds to be truncated rather than rounded when inserting into a column that has a data type with a fractional seconds part. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_time_truncate_fractional).
- `ANSI`: Equivalent to `REAL_AS_FLOAT`, `PIPES_AS_CONCAT`, `ANSI_QUOTES`, `IGNORE_SPACE`, and `ONLY_FULL_GROUP_BY`. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_ansi).
- `TRADITIONAL`: Equivalent to `STRICT_TRANS_TABLES`, `STRICT_ALL_TABLES`, `NO_ZERO_IN_DATE`, `NO_ZERO_DATE`, `ERROR_FOR_DIVISION_BY_ZERO`, and `NO_ENGINE_SUBSTITUTION`. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_traditional).
- `NO_DIR_IN_CREATE`: Prevent the use of `..` in directory paths in `CREATE TABLE` statements. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html#sqlmode_no_dir_in_create). ||
|| maxAllowedPacket | **string** (int64)

The maximum size in bytes of one packet.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_allowed_packet) for details.

Acceptable values are 1048576 to 1073741824, inclusive. ||
|| defaultAuthenticationPlugin | **enum** (AuthPlugin)

Authentication plugin used in the managed MySQL cluster.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin) for details.

- `MYSQL_NATIVE_PASSWORD`: Using [Native Pluggable Authentication](https://dev.mysql.com/doc/refman/8.0/en/native-pluggable-authentication.html).
- `CACHING_SHA2_PASSWORD`: Using [Caching SHA-2 Pluggable Authentication](https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html).
- `SHA256_PASSWORD`: Using [SHA-256 Pluggable Authentication](https://dev.mysql.com/doc/refman/8.0/en/sha256-pluggable-authentication.html).
- `MYSQL_NO_LOGIN`: Use [MYSQL_NO_LOGIN Pluggable Authentication](https://dev.mysql.com/doc/refman/8.0/en/no-login-pluggable-authentication.html).
- `MDB_IAMPROXY_AUTH`: Use [IAM Pluggable Authentication](../../../iam/concepts/authorization/index.md). ||
|| innodbFlushLogAtTrxCommit | **string** (int64)

Transaction log flush behaviour.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit) for details.

Acceptable values are 1 to 2, inclusive. ||
|| innodbLockWaitTimeout | **string** (int64)

Max time in seconds for a transaction to wait for a row lock.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_lock_wait_timeout) for details.

Acceptable values are 1 to 28800, inclusive. ||
|| transactionIsolation | **enum** (TransactionIsolation)

Default transaction isolation level.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_transaction_isolation) for details.

- `READ_COMMITTED`: Read committed isolation level. A consistent read within the same transaction reads the snapshot established by the first read.
- `REPEATABLE_READ`: Repeatable read isolation level. All consistent reads within the same transaction read the snapshot established by the first read.
- `SERIALIZABLE`: Serializable isolation level. All statements implicitly convert to SELECT ... FOR SHARE if autocommit is disabled. ||
|| innodbPrintAllDeadlocks | **boolean**

Print information about deadlocks in error log.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_print_all_deadlocks) for details. ||
|| netReadTimeout | **string** (int64)

The number of seconds to wait for more data from a connection before aborting the read.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_net_read_timeout) for details.

Acceptable values are 1 to 1200, inclusive. ||
|| netWriteTimeout | **string** (int64)

The number of seconds to wait for a block to be written to a connection before aborting the write.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_net_write_timeout) for details.

Acceptable values are 1 to 1200, inclusive. ||
|| groupConcatMaxLen | **string** (int64)

The maximum permitted result length in bytes for the GROUP_CONCAT() function.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_group_concat_max_len) for details.

Acceptable values are 4 to 33554432, inclusive. ||
|| tmpTableSize | **string** (int64)

The maximum size of internal in-memory temporary tables.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_tmp_table_size) for details.

Acceptable values are 1024 to 536870912, inclusive. ||
|| maxHeapTableSize | **string** (int64)

This variable sets the maximum size to which user-created MEMORY tables are permitted to grow.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_heap_table_size) for details.

Acceptable values are 16384 to 536870912, inclusive. ||
|| defaultTimeZone | **string**

The servers default time zone.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-options.html#option_mysqld_default-time-zone) for details. ||
|| characterSetServer | **string**

The servers default character set.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_character_set_server) for details. ||
|| collationServer | **string**

The server default collation.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_collation_server) for details. ||
|| innodbAdaptiveHashIndex | **boolean**

Enables InnoDB adaptive hash index.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_adaptive_hash_index) for details. ||
|| innodbNumaInterleave | **boolean**

Enables the NUMA interleave memory policy for allocation of the InnoDB buffer pool.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_numa_interleave) for details. ||
|| innodbLogBufferSize | **string** (int64)

The size in bytes of the buffer that InnoDB uses to write to the log files on disk.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_log_buffer_size) for details.

Acceptable values are 1048576 to 268435456, inclusive. ||
|| innodbLogFileSize | **string** (int64)

The size in bytes of the single InnoDB Redo log file.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_log_file_size) for details.

Acceptable values are 268435456 to 8589934592, inclusive. ||
|| innodbIoCapacity | **string** (int64)

Limits IO available for InnoDB background tasks.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_io_capacity) for details.

Acceptable values are 100 to 100000, inclusive. ||
|| innodbIoCapacityMax | **string** (int64)

Limits IO available for InnoDB background tasks.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_io_capacity_max) for details.

Acceptable values are 100 to 100000, inclusive. ||
|| innodbReadIoThreads | **string** (int64)

The number of I/O threads for read operations in InnoDB.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_read_io_threads) for details.

Acceptable values are 1 to 16, inclusive. ||
|| innodbWriteIoThreads | **string** (int64)

The number of I/O threads for write operations in InnoDB.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_write_io_threads) for details.

Acceptable values are 1 to 16, inclusive. ||
|| innodbPurgeThreads | **string** (int64)

The number of background threads devoted to the InnoDB purge operation.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_purge_threads) for details.

Acceptable values are 1 to 16, inclusive. ||
|| innodbThreadConcurrency | **string** (int64)

Defines the maximum number of threads permitted inside of InnoDB.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_thread_concurrency) for details.

Acceptable values are 0 to 1000, inclusive. ||
|| innodbTempDataFileMaxSize | **string** (int64)

Limits the max size of InnoDB temp tablespace.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_temp_data_file_path) for details.

Acceptable values are 1073741824 to 107374182400, inclusive. ||
|| threadCacheSize | **string** (int64)

How many threads the server should cache for reuse.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_thread_cache_size) for details.

Acceptable values are 10 to 10000, inclusive. ||
|| threadStack | **string** (int64)

The stack size for each thread. The default is large enough for normal operation.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_thread_stack) for details.

Acceptable values are 131072 to 16777216, inclusive. ||
|| joinBufferSize | **string** (int64)

The minimum size of the buffer that is used for plain index scans, range index scans, and joins that don't use indexes and thus perform full table scans.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_join_buffer_size) for details.

Acceptable values are 1024 to 16777216, inclusive. ||
|| sortBufferSize | **string** (int64)

Each session that must perform a sort allocates a buffer of this size.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sort_buffer_size) for details.

Acceptable values are 1024 to 16777216, inclusive. ||
|| tableDefinitionCache | **string** (int64)

The number of table definitions that can be stored in the definition cache.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_table_definition_cache) for details.

Acceptable values are 400 to 524288, inclusive. ||
|| tableOpenCache | **string** (int64)

The number of open tables for all threads.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_table_open_cache) for details.

Acceptable values are 400 to 524288, inclusive. ||
|| tableOpenCacheInstances | **string** (int64)

The number of open tables cache instances.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_table_open_cache_instances) for details.

Acceptable values are 1 to 32, inclusive. ||
|| explicitDefaultsForTimestamp | **boolean**

Determines whether the server enables certain nonstandard behaviors for default values and NULL-value handling in TIMESTAMP columns.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp) for details. ||
|| autoIncrementIncrement | **string** (int64)

Can be used to control the operation of AUTO_INCREMENT columns.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/replication-options-source.html#sysvar_auto_increment_increment) for details.

Acceptable values are 1 to 65535, inclusive. ||
|| autoIncrementOffset | **string** (int64)

Can be used to control the operation of AUTO_INCREMENT columns.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/replication-options-source.html#sysvar_auto_increment_offset) for details.

Acceptable values are 1 to 65535, inclusive. ||
|| syncBinlog | **string** (int64)

Controls how often the MySQL server synchronizes the binary log to disk.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_sync_binlog) for details.

Acceptable values are 0 to 4096, inclusive. ||
|| binlogCacheSize | **string** (int64)

The size of the cache to hold changes to the binary log during a transaction.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_cache_size) for details.

Acceptable values are 4096 to 67108864, inclusive. ||
|| binlogGroupCommitSyncDelay | **string** (int64)

Controls how many microseconds the binary log commit waits before synchronizing the binary log file to disk.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_group_commit_sync_delay) for details.

Acceptable values are 0 to 50000, inclusive. ||
|| binlogRowImage | **enum** (BinlogRowImage)

For MySQL row-based replication, this variable determines how row images are written to the binary log.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_row_image) for details.

- `FULL`: Log all columns (full row image).
- `MINIMAL`: Log only changed columns and columns needed to identify the row.
- `NOBLOB`: Log all columns except BLOB and TEXT columns. ||
|| binlogRowsQueryLogEvents | **boolean**

When enabled, it causes the server to write informational log events such as row query log events into its binary log.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_rows_query_log_events) for details. ||
|| rplSemiSyncMasterWaitForSlaveCount | **string** (int64)

The number of replica acknowledgments the source must receive per transaction before proceeding.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/replication-options-source.html#sysvar_rpl_semi_sync_master_wait_for_slave_count) for details.

The minimum value is 1. ||
|| slaveParallelType | **enum** (SlaveParallelType)

When using a multi-threaded replica, this variable specifies the policy used to decide which transactions are allowed to execute in parallel on the replica.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/replication-options-replica.html#sysvar_slave_parallel_type) for details.

- `DATABASE`: Transactions are parallelized per database (schema).
- `LOGICAL_CLOCK`: Transactions are parallelized using the logical clock algorithm based on the binary log group commit. ||
|| slaveParallelWorkers | **string** (int64)

Sets the number of applier threads for executing replication transactions in parallel.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/replication-options-replica.html#sysvar_slave_parallel_workers) for details.

Acceptable values are 0 to 64, inclusive. ||
|| regexpTimeLimit | **string** (int64)

The time limit for regular expression matching operations performed by REGEXP_LIKE and similar functions.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/replication-options-replica.html#sysvar_regexp_time_limit) for details.

Acceptable values are 0 to 1048576, inclusive. ||
|| mdbPreserveBinlogBytes | **string** (int64)

The size of the binary log to hold.

Acceptable values are 1073741824 to 1099511627776, inclusive. ||
|| interactiveTimeout | **string** (int64)

The number of seconds the server waits for activity on an interactive connection before closing it.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_interactive_timeout) for details.

Acceptable values are 600 to 86400, inclusive. ||
|| waitTimeout | **string** (int64)

The number of seconds the server waits for activity on a noninteractive connection before closing it.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_wait_timeout) for details.

Acceptable values are 600 to 86400, inclusive. ||
|| mdbOfflineModeEnableLag | **string** (int64)

Replication lag threshold (seconds) which will switch MySQL to 'offline_mode = ON' to prevent users from reading stale data.

Acceptable values are 30 to 86400, inclusive. ||
|| mdbOfflineModeDisableLag | **string** (int64)

Replication lag threshold (seconds) which will switch MySQL to 'offline_mode = OFF'.
Should be less than mdb_offline_mode_enable_lag.

Acceptable values are 10 to 86400, inclusive. ||
|| rangeOptimizerMaxMemSize | **string** (int64)

The limit on memory consumption for the range optimizer.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_range_optimizer_max_mem_size) for details.

Acceptable values are 60 to 268435456, inclusive. ||
|| innodbOnlineAlterLogMaxSize | **string** (int64)

The limit in bytes on the size of the temporary log files used during online DDL operations
See [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_online_alter_log_max_size) for details.

Acceptable values are 65536 to 107374182400, inclusive. ||
|| innodbFtMinTokenSize | **string** (int64)

Minimum length of words that are stored in an InnoDB FULLTEXT index
See [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_ft_min_token_size) for details.

Acceptable values are 0 to 16, inclusive. ||
|| innodbFtMaxTokenSize | **string** (int64)

Maximum length of words that are stored in an InnoDB FULLTEXT index
See [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_ft_max_token_size) for details.

Acceptable values are 10 to 84, inclusive. ||
|| lowerCaseTableNames | **string** (int64)

Table names storage and comparison strategy
See [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_lower_case_table_names) for details.

Acceptable values are 0 to 1, inclusive. ||
|| slowQueryLog | **boolean**

Manages slow query log.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_slow_query_log) for details. ||
|| slowQueryLogAlwaysWriteTime | **number** (double)

Query execution time, after which query to be logged unconditionally, that is, `log_slow_rate_limit` will not apply to it.
See [Percona documentation](https://www.percona.com/doc/percona-server/8.0/diagnostics/slow_extended.html#slow_query_log_always_write_time) for details.

Acceptable values are 0 to 3600, inclusive. ||
|| logSlowRateType | **enum** (LogSlowRateType)

Specifies slow log granularity for `log_slow_rate_limit` QUERY or SESSION value.
See [Percona documentation](https://www.percona.com/doc/percona-server/8.0/diagnostics/slow_extended.html#log_slow_rate_type) for details.

- `SESSION`: Logging is controlled per session.
- `QUERY`: Logging is controlled per query. ||
|| logSlowRateLimit | **string** (int64)

Specifies what fraction of session/query should be logged. Logging is enabled for every nth session/query.
See [Percona documentation](https://www.percona.com/doc/percona-server/8.0/diagnostics/slow_extended.html#log_slow_rate_limit) for details.

Acceptable values are 1 to 1000, inclusive. ||
|| logSlowSpStatements | **boolean**

When TRUE, statements executed by stored procedures are logged to the slow log.
See [Percona documentation](https://www.percona.com/doc/percona-server/8.0/diagnostics/slow_extended.html#log_slow_sp_statements) for details. ||
|| logSlowFilter[] | **enum** (LogSlowFilterType)

Filters the slow log by the query's execution plan.
See [Percona documentation](https://www.percona.com/doc/percona-server/8.0/diagnostics/slow_extended.html#log_slow_filter) for details.

- `FULL_SCAN`: Queries that perform a full table scan.
- `FULL_JOIN`: Queries that perform a full join (a join without indexes).
- `TMP_TABLE`: Queries that create an implicit internal temporary table.
- `TMP_TABLE_ON_DISK`: Queries that create an implicit internal temporary table on disk.
- `FILESORT`: Queries that use a filesort.
- `FILESORT_ON_DISK`: Queries that use a filesort on disk. ||
|| mdbPriorityChoiceMaxLag | **string** (int64)

Replication lag threshold (seconds) which allows replica to be promoted to master while executing "switchover from".
Should be less than mdb_offline_mode_disable_lag.

Acceptable values are 0 to 86400, inclusive. ||
|| innodbPageSize | **string** (int64)

Specifies the page size for InnoDB tablespaces.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_page_size).

Acceptable values are 4096 to 65536, inclusive. ||
|| maxSpRecursionDepth | **string** (int64)

The number of times that any given stored procedure may be called recursively.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_sp_recursion_depth).

Acceptable values are 0 to 255, inclusive. ||
|| innodbCompressionLevel | **string** (int64)

The level of zlib compression to use for InnoDB compressed tables and indexes.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_compression_level).

Acceptable values are 0 to 9, inclusive. ||
|| binlogTransactionDependencyTracking | **enum** (BinlogTransactionDependencyTracking)

Specifies how the source mysqld generates the dependency information that it writes in the binary log to help replicas determine which transactions can be executed in parallel.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_transaction_dependency_tracking).

- `COMMIT_ORDER`: Transactions are made dependent based on commit order.
- `WRITESET`: Transactions are made dependent based on the write set of rows modified by the transaction.
- `WRITESET_SESSION`: Transactions are made dependent based on the write set and the commit order within a session. ||
|| autocommit | **boolean**

Config specific will be all changes to a table take effect immediately or you must use COMMIT to accept a transaction or ROLLBACK to cancel it.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_autocommit). ||
|| innodbStatusOutput | **boolean**

Enables or disables periodic output for the standard InnoDB Monitor.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_status_output). ||
|| innodbStrictMode | **boolean**

When innodb_strict_mode is enabled, InnoDB returns errors rather than warnings when checking for invalid or incompatible table options.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_strict_mode). ||
|| innodbPrintLockWaitTimeoutInfo | **boolean**

Makes InnoDB to write information about all lock wait timeout errors into the log file.
For details, see [Percona documentation for the variable](https://docs.percona.com/percona-server/8.0/diagnostics/innodb_show_status.html?highlight=innodb_print_lock_wait_timeout_info). ||
|| logErrorVerbosity | **string** (int64)

System variable specifies the verbosity for handling events intended for the error log
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_log_error_verbosity).

Acceptable values are 2 to 3, inclusive. ||
|| maxDigestLength | **string** (int64)

The maximum number of bytes of memory reserved per session for computation of normalized statement digests.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_digest_length).

Acceptable values are 1024 to 1048576, inclusive. ||
|| lockWaitTimeout | **string** (int64)

This variable specifies the timeout in seconds for attempts to acquire metadata locks
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_lock_wait_timeout).

Acceptable values are 1 to 31536000, inclusive. ||
|| maxPreparedStmtCount | **string** (int64)

This variable limits the total number of prepared statements in the server.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_prepared_stmt_count).

Acceptable values are 0 to 4194304, inclusive. ||
|| optimizerSwitch | **string**

The system variable enables control over optimizer behavior.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_optimizer_switch)
https://dev.mysql.com/doc/refman/8.0/en/switchable-optimizations.html ||
|| optimizerSearchDepth | **string** (int64)

The maximum depth of search performed by the query optimizer
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html)

Acceptable values are 0 to 62, inclusive. ||
|| userstat | **boolean**

Enables or disables collection of statistics
For details, see [Percona documentation for the variable](https://docs.percona.com/percona-server/8.0/diagnostics/user_stats.html#userstat). ||
|| maxExecutionTime | **string** (int64)

The execution timeout for SELECT statements, in milliseconds. If the value is 0, timeouts are not enabled.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_execution_time)

Acceptable values are 0 to 4294967295, inclusive. ||
|| auditLogPolicy | **enum** (AuditLogPolicy)

The policy controlling how the audit log plugin writes events to its log file
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/audit-log-reference.html#sysvar_audit_log_policy)

- `ALL`: Log all events.
- `LOGINS`: Log only login events.
- `QUERIES`: Log only query events.
- `NONE`: Do not log events. ||
|| replicationSenderObserveCommitOnly | **boolean**

Limit callbacks to improve performance for semisynchronous replication
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/replication-options-replica.html#sysvar_replication_sender_observe_commit_only). ||
|| replicationOptimizeForStaticPluginConfig | **boolean**

Use shared locks, and avoid unnecessary lock acquisitions, to improve performance for semisynchronous replication
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/replication-options-replica.html#sysvar_replication_optimize_for_static_plugin_config). ||
|| innodbLruScanDepth | **string** (int64)

A parameter that influences the algorithms and heuristics for the flush operation for the InnoDB buffer pool
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_lru_scan_depth)

Acceptable values are 100 to 4294967295, inclusive. ||
|| sqlRequirePrimaryKey | **boolean**

Whether statements that create new tables or alter the structure of existing tables enforce the requirement that tables have a primary key
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_sql_require_primary_key). ||
|| mdbForceSsl | **boolean**

Force ssl on all hosts (require_secure_transport) ||
|| innodbChangeBuffering | **enum** (InnodbChangeBuffering)

An optimization for change buffering
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_change_buffering).

- `INNODB_CHANGE_BUFFERING_NONE`: Do not buffer any operations.
- `INNODB_CHANGE_BUFFERING_INSERTS`: Buffer insert operations.
- `INNODB_CHANGE_BUFFERING_DELETES`: Buffer delete-marking operations.
- `INNODB_CHANGE_BUFFERING_CHANGES`: Buffer insert and delete-marking operations.
- `INNODB_CHANGE_BUFFERING_PURGES`: Buffer operations where undo log records are discarded.
- `INNODB_CHANGE_BUFFERING_ALL`: Buffer all types of eligible operations. ||
|| maxWriteLockCount | **string** (int64)

Permit some pending read lock requests interval
P.S. Should be UInt64, but java fails to handle UInt64 limits
For details, see [Percona documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_write_lock_count).

The minimum value is 1. ||
|| innodbAdaptiveHashIndexParts | **string** (int64)

Partitions the adaptive hash index search system.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_adaptive_hash_index_parts)

Acceptable values are 1 to 512, inclusive. ||
|#

## MysqlConfig8_4 {#yandex.cloud.mdb.mysql.v1.config.MysqlConfig8_4}

Options and structure of `MysqlConfig8_4` reflects MySQL 8.4 configuration file

#|
||Field | Description ||
|| innodbBufferPoolSize | **string** (int64)

Size of the InnoDB buffer pool used for caching table and index data.
For details, see [MySQL documentation for the parameter](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_buffer_pool_size).

The minimum value is 134217728. ||
|| maxConnections | **string** (int64)

The maximum permitted number of simultaneous client connections.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_max_connections).

Acceptable values are 10 to 100000, inclusive. ||
|| longQueryTime | **number** (double)

Time that it takes to process a query before it is considered slow.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_long_query_time).

Acceptable values are 0 to 3600, inclusive. ||
|| auditLog | **boolean**

Enable writing of audit log of MySQL.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/audit-log-reference.html#audit-log-options-variables). ||
|| sqlMode[] | **enum** (SQLMode)

Server SQL mode of MySQL.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sql-mode-setting).

- `ALLOW_INVALID_DATES`: Allow dates where the day or month part is 0. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_allow_invalid_dates).
- `ANSI_QUOTES`: Treat `"` as an identifier quote character (like the `` ` `` quote character) rather than as a string quote character. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_ansi_quotes).
- `ERROR_FOR_DIVISION_BY_ZERO`: Produce an error for divisions by zero. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_error_for_division_by_zero).
- `HIGH_NOT_PRECEDENCE`: Give `NOT` higher precedence in negation than it has in non-high-precedence mode. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_high_not_precedence).
- `IGNORE_SPACE`: Allow spaces between a function name and the `(` character. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_ignore_space).
- `NO_AUTO_VALUE_ON_ZERO`: Do not reset the AUTO_INCREMENT column to 0 when inserting 0 into it. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_no_auto_value_on_zero).
- `NO_BACKSLASH_ESCAPES`: Disable the use of the backslash character (`\`) as an escape character within strings. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_no_backslash_escapes).
- `NO_ENGINE_SUBSTITUTION`: Do not substitute the default storage engine when a statement specifies a storage engine that is disabled or not compiled in. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_no_engine_substitution).
- `NO_UNSIGNED_SUBTRACTION`: Disable unsigned subtraction so that subtraction results are always signed. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_no_unsigned_subtraction).
- `NO_ZERO_DATE`: Disable the MySQL-specific date `0000-00-00`. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_no_zero_date).
- `NO_ZERO_IN_DATE`: Disable month or day parts of `0` in dates. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_no_zero_in_date).
- `ONLY_FULL_GROUP_BY`: Reject queries for which the select list, `HAVING` condition, or `ORDER BY` list refer to non-aggregated columns that are not named in the `GROUP BY` clause. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_only_full_group_by).
- `PAD_CHAR_TO_FULL_LENGTH`: Pad `CHAR` column values with spaces to the full column length when retrieving them. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_pad_char_to_full_length).
- `PIPES_AS_CONCAT`: Treat `\|\|` as a string concatenation operator rather than as `OR`. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_pipes_as_concat).
- `REAL_AS_FLOAT`: Treat `REAL` as a synonym for `FLOAT` rather than `DOUBLE`. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_real_as_float).
- `STRICT_ALL_TABLES`: Strict mode for all storage engines. Invalid data values cause errors, not warnings. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_strict_all_tables).
- `STRICT_TRANS_TABLES`: Strict mode for transactional storage engines. Invalid data values cause errors, not warnings. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_strict_trans_tables).
- `TIME_TRUNCATE_FRACTIONAL`: Causes fractional seconds to be truncated rather than rounded when inserting into a column that has a data type with a fractional seconds part. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_time_truncate_fractional).
- `ANSI`: Equivalent to `REAL_AS_FLOAT`, `PIPES_AS_CONCAT`, `ANSI_QUOTES`, `IGNORE_SPACE`, and `ONLY_FULL_GROUP_BY`. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_ansi).
- `TRADITIONAL`: Equivalent to `STRICT_TRANS_TABLES`, `STRICT_ALL_TABLES`, `NO_ZERO_IN_DATE`, `NO_ZERO_DATE`, `ERROR_FOR_DIVISION_BY_ZERO`, and `NO_ENGINE_SUBSTITUTION`. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_traditional).
- `NO_DIR_IN_CREATE`: Prevent the use of `..` in directory paths in `CREATE TABLE` statements. See [MySQL documentation](https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_no_dir_in_create). ||
|| maxAllowedPacket | **string** (int64)

The maximum size in bytes of one packet.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_max_allowed_packet).

Acceptable values are 1048576 to 1073741824, inclusive. ||
|| innodbFlushLogAtTrxCommit | **string** (int64)

Transaction log flush behaviour.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit)

Acceptable values are 1 to 2, inclusive. ||
|| innodbLockWaitTimeout | **string** (int64)

Max time in seconds for a transaction to wait for a row lock
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_lock_wait_timeout)

Acceptable values are 1 to 28800, inclusive. ||
|| transactionIsolation | **enum** (TransactionIsolation)

Default transaction isolation level.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_transaction_isolation)

- `READ_COMMITTED`: Read committed isolation level. A consistent read within the same transaction reads the snapshot established by the first read.
- `REPEATABLE_READ`: Repeatable read isolation level. All consistent reads within the same transaction read the snapshot established by the first read.
- `SERIALIZABLE`: Serializable isolation level. All statements implicitly convert to SELECT ... FOR SHARE if autocommit is disabled. ||
|| innodbPrintAllDeadlocks | **boolean**

Print information about deadlocks in error log
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_print_all_deadlocks) ||
|| netReadTimeout | **string** (int64)

The number of seconds to wait for more data from a connection before aborting the read.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_net_read_timeout)

Acceptable values are 1 to 1200, inclusive. ||
|| netWriteTimeout | **string** (int64)

The number of seconds to wait for a block to be written to a connection before aborting the write.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_net_write_timeout)

Acceptable values are 1 to 1200, inclusive. ||
|| groupConcatMaxLen | **string** (int64)

The maximum permitted result length in bytes for the GROUP_CONCAT() function.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_group_concat_max_len)

Acceptable values are 4 to 33554432, inclusive. ||
|| tmpTableSize | **string** (int64)

The maximum size of internal in-memory temporary tables.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_tmp_table_size)

Acceptable values are 1024 to 536870912, inclusive. ||
|| maxHeapTableSize | **string** (int64)

This variable sets the maximum size to which user-created MEMORY tables are permitted to grow.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_max_heap_table_size)

Acceptable values are 16384 to 536870912, inclusive. ||
|| defaultTimeZone | **string**

The servers default time zone.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-options.html#option_mysqld_default-time-zone) ||
|| characterSetServer | **string**

The servers default character set.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_character_set_server) ||
|| collationServer | **string**

Set the default server collation.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_collation_server) ||
|| innodbAdaptiveHashIndex | **boolean**

Enables Innodb adaptive hash index
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_adaptive_hash_index) ||
|| innodbNumaInterleave | **boolean**

Enables the NUMA interleave memory policy for allocation of the InnoDB buffer pool.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_numa_interleave) ||
|| innodbLogBufferSize | **string** (int64)

The size in bytes of the buffer that InnoDB uses to write to the log files on disk.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_log_buffer_size)

Acceptable values are 1048576 to 268435456, inclusive. ||
|| innodbLogFileSize | **string** (int64)

The size in bytes of the single Innodb Redo log file.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_log_file_size)

Acceptable values are 268435456 to 8589934592, inclusive. ||
|| innodbIoCapacity | **string** (int64)

Limits IO available for InnoDB background tasks
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_io_capacity)

Acceptable values are 100 to 100000, inclusive. ||
|| innodbIoCapacityMax | **string** (int64)

Limits IO available for InnoDB background tasks
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_io_capacity_max)

Acceptable values are 100 to 100000, inclusive. ||
|| innodbReadIoThreads | **string** (int64)

The number of I/O threads for read operations in InnoDB.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_read_io_threads)

Acceptable values are 1 to 16, inclusive. ||
|| innodbWriteIoThreads | **string** (int64)

The number of I/O threads for write operations in InnoDB.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_write_io_threads)

Acceptable values are 1 to 16, inclusive. ||
|| innodbPurgeThreads | **string** (int64)

The number of background threads devoted to the InnoDB purge operation.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_purge_threads)

Acceptable values are 1 to 16, inclusive. ||
|| innodbThreadConcurrency | **string** (int64)

Defines the maximum number of threads permitted inside of InnoDB.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_thread_concurrency)

Acceptable values are 0 to 1000, inclusive. ||
|| innodbTempDataFileMaxSize | **string** (int64)

Limits the max size of InnoDB temp tablespace
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_temp_data_file_path)

Acceptable values are 1073741824 to 107374182400, inclusive. ||
|| threadCacheSize | **string** (int64)

How many threads the server should cache for reuse.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_thread_cache_size).

Acceptable values are 10 to 10000, inclusive. ||
|| threadStack | **string** (int64)

The stack size for each thread. The default is large enough for normal operation.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_thread_stack).

Acceptable values are 131072 to 16777216, inclusive. ||
|| joinBufferSize | **string** (int64)

The minimum size of the buffer that is used for plain index scans, range index scans, and joins that don't use indexes and thus perform full table scans.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_join_buffer_size).

Acceptable values are 1024 to 16777216, inclusive. ||
|| sortBufferSize | **string** (int64)

Each session that must perform a sort allocates a buffer of this size.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_sort_buffer_size).

Acceptable values are 1024 to 16777216, inclusive. ||
|| tableDefinitionCache | **string** (int64)

The number of table definitions that can be stored in the definition cache.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_table_definition_cache).

Acceptable values are 400 to 524288, inclusive. ||
|| tableOpenCache | **string** (int64)

The number of open tables for all threads.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_table_open_cache).

Acceptable values are 400 to 524288, inclusive. ||
|| tableOpenCacheInstances | **string** (int64)

The number of open tables cache instances.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_table_open_cache_instances).

Acceptable values are 1 to 32, inclusive. ||
|| explicitDefaultsForTimestamp | **boolean**

This system variable determines whether the server enables certain nonstandard behaviors for default values and NULL-value handling in TIMESTAMP columns.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp). ||
|| autoIncrementIncrement | **string** (int64)

Can be used to control the operation of AUTO_INCREMENT columns.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/replication-options-master.html#sysvar_auto_increment_increment).

Acceptable values are 1 to 65535, inclusive. ||
|| autoIncrementOffset | **string** (int64)

Can be used to control the operation of AUTO_INCREMENT columns.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/replication-options-master.html#sysvar_auto_increment_offset).

Acceptable values are 1 to 65535, inclusive. ||
|| syncBinlog | **string** (int64)

Controls how often the MySQL server synchronizes the binary log to disk.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/replication-options-binary-log.html#sysvar_sync_binlog).

Acceptable values are 0 to 4096, inclusive. ||
|| binlogCacheSize | **string** (int64)

The size of the cache to hold changes to the binary log during a transaction.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/replication-options-binary-log.html#sysvar_binlog_cache_size).

Acceptable values are 4096 to 67108864, inclusive. ||
|| binlogGroupCommitSyncDelay | **string** (int64)

Controls how many microseconds the binary log commit waits before synchronizing the binary log file to disk.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/replication-options-binary-log.html#sysvar_binlog_group_commit_sync_delay).

Acceptable values are 0 to 50000, inclusive. ||
|| binlogRowImage | **enum** (BinlogRowImage)

For MySQL row-based replication, this variable determines how row images are written to the binary log.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/replication-options-binary-log.html#sysvar_binlog_row_image).

- `FULL`: Log all columns (full row image).
- `MINIMAL`: Log only changed columns and columns needed to identify the row.
- `NOBLOB`: Log all columns except BLOB and TEXT columns. ||
|| binlogRowsQueryLogEvents | **boolean**

When enabled, it causes the server to write informational log events such as row query log events into its binary log.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/replication-options-binary-log.html#sysvar_binlog_rows_query_log_events). ||
|| rplSemiSyncMasterWaitForSlaveCount | **string** (int64)

The number of replica acknowledgments the source must receive per transaction before proceeding.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/replication-options-master.html#sysvar_rpl_semi_sync_master_wait_for_slave_count).

The minimum value is 1. ||
|| slaveParallelType | **enum** (SlaveParallelType)

When using a multithreaded replica, this variable specifies the policy used to decide which transactions are allowed to execute in parallel on the replica.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/replication-options-replica.html#sysvar_slave_parallel_type).

- `DATABASE`: Transactions are parallelized per database (schema).
- `LOGICAL_CLOCK`: Transactions are parallelized using the logical clock algorithm based on the binary log group commit. ||
|| slaveParallelWorkers | **string** (int64)

Sets the number of applier threads for executing replication transactions in parallel.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/replication-options-replica.html#sysvar_slave_parallel_workers).

Acceptable values are 0 to 64, inclusive. ||
|| regexpTimeLimit | **string** (int64)

The time limit for regular expression matching operations performed by REGEXP_LIKE and similar functions
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/replication-options-replica.html#sysvar_regexp_time_limit).

Acceptable values are 0 to 1048576, inclusive. ||
|| mdbPreserveBinlogBytes | **string** (int64)

The size of the binary log to hold.

Acceptable values are 1073741824 to 1099511627776, inclusive. ||
|| interactiveTimeout | **string** (int64)

The number of seconds the server waits for activity on an interactive connection before closing it.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_interactive_timeout).

Acceptable values are 600 to 86400, inclusive. ||
|| waitTimeout | **string** (int64)

The number of seconds the server waits for activity on a noninteractive connection before closing it.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_wait_timeout).

Acceptable values are 600 to 86400, inclusive. ||
|| mdbOfflineModeEnableLag | **string** (int64)

Replication lag threshold (seconds) which will switch MySQL to 'offline_mode = ON' to prevent users from reading stale data.

Acceptable values are 30 to 86400, inclusive. ||
|| mdbOfflineModeDisableLag | **string** (int64)

Replication lag threshold (seconds) which will switch MySQL to 'offline_mode = OFF'.
Should be less than mdb_offline_mode_enable_lag.

Acceptable values are 10 to 86400, inclusive. ||
|| rangeOptimizerMaxMemSize | **string** (int64)

The limit on memory consumption for the range optimizer.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_range_optimizer_max_mem_size).

Acceptable values are 60 to 268435456, inclusive. ||
|| innodbOnlineAlterLogMaxSize | **string** (int64)

The limit in bytes on the size of the temporary log files used during online DDL operations
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_online_alter_log_max_size).

Acceptable values are 65536 to 107374182400, inclusive. ||
|| innodbFtMinTokenSize | **string** (int64)

Minimum length of words that are stored in an InnoDB FULLTEXT index
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_ft_min_token_size).

Acceptable values are 0 to 16, inclusive. ||
|| innodbFtMaxTokenSize | **string** (int64)

Maximum length of words that are stored in an InnoDB FULLTEXT index
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_ft_max_token_size).

Acceptable values are 10 to 84, inclusive. ||
|| lowerCaseTableNames | **string** (int64)

Table names storage and comparison strategy
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_lower_case_table_names).

Acceptable values are 0 to 1, inclusive. ||
|| slowQueryLog | **boolean**

Manages slow query log
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_slow_query_log). ||
|| slowQueryLogAlwaysWriteTime | **number** (double)

Query execution time, after which query to be logged unconditionally, that is, log_slow_rate_limit will not apply to it
For details, see [Percona documentation for the variable](https://www.percona.com/doc/percona-server/8.4/diagnostics/slow_extended.html#slow_query_log_always_write_time).

Acceptable values are 0 to 3600, inclusive. ||
|| logSlowRateType | **enum** (LogSlowRateType)

Specifies slow log granularity for log_slow_rate_limit: QUERY or SESSION
For details, see [Percona documentation for the variable](https://www.percona.com/doc/percona-server/8.4/diagnostics/slow_extended.html#log_slow_rate_type).

- `SESSION`: Logging is controlled per session.
- `QUERY`: Logging is controlled per query. ||
|| logSlowRateLimit | **string** (int64)

Specifies what fraction of session/query should be logged. Logging is enabled for every nth session/query.
For details, see [Percona documentation for the variable](https://www.percona.com/doc/percona-server/8.4/diagnostics/slow_extended.html#log_slow_rate_limit).

Acceptable values are 1 to 1000, inclusive. ||
|| logSlowSpStatements | **boolean**

When TRUE, statements executed by stored procedures are logged to the slow log
For details, see [Percona documentation for the variable](https://www.percona.com/doc/percona-server/8.4/diagnostics/slow_extended.html#log_slow_sp_statements). ||
|| logSlowFilter[] | **enum** (LogSlowFilterType)

Filters the slow log by the query's execution plan
For details, see [Percona documentation for the variable](https://www.percona.com/doc/percona-server/8.4/diagnostics/slow_extended.html#log_slow_filter).

- `FULL_SCAN`: Queries that perform a full table scan.
- `FULL_JOIN`: Queries that perform a full join (a join without indexes).
- `TMP_TABLE`: Queries that create an implicit internal temporary table.
- `TMP_TABLE_ON_DISK`: Queries that create an implicit internal temporary table on disk.
- `FILESORT`: Queries that use a filesort.
- `FILESORT_ON_DISK`: Queries that use a filesort on disk. ||
|| mdbPriorityChoiceMaxLag | **string** (int64)

Replication lag threshold (seconds) which allows replica to be promoted to master while executing "switchover from".
Should be less than mdb_offline_mode_disable_lag.

Acceptable values are 0 to 86400, inclusive. ||
|| innodbPageSize | **string** (int64)

Specifies the page size for InnoDB tablespaces.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_page_size).

Acceptable values are 4096 to 65536, inclusive. ||
|| maxSpRecursionDepth | **string** (int64)

The number of times that any given stored procedure may be called recursively.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_max_sp_recursion_depth).

Acceptable values are 0 to 255, inclusive. ||
|| innodbCompressionLevel | **string** (int64)

The level of zlib compression to use for InnoDB compressed tables and indexes.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_compression_level).

Acceptable values are 0 to 9, inclusive. ||
|| autocommit | **boolean**

Config specific will be all changes to a table take effect immediately or you must use COMMIT to accept a transaction or ROLLBACK to cancel it.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_autocommit). ||
|| innodbStatusOutput | **boolean**

Enables or disables periodic output for the standard InnoDB Monitor.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_status_output). ||
|| innodbStrictMode | **boolean**

When innodb_strict_mode is enabled, InnoDB returns errors rather than warnings when checking for invalid or incompatible table options.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_strict_mode). ||
|| innodbPrintLockWaitTimeoutInfo | **boolean**

Makes InnoDB to write information about all lock wait timeout errors into the log file.
For details, see [Percona documentation for the variable](https://docs.percona.com/percona-server/8.4/diagnostics/innodb_show_status.html?highlight=innodb_print_lock_wait_timeout_info). ||
|| logErrorVerbosity | **string** (int64)

System variable specifies the verbosity for handling events intended for the error log
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_log_error_verbosity).

Acceptable values are 2 to 3, inclusive. ||
|| maxDigestLength | **string** (int64)

The maximum number of bytes of memory reserved per session for computation of normalized statement digests.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_max_digest_length).

Acceptable values are 1024 to 1048576, inclusive. ||
|| lockWaitTimeout | **string** (int64)

This variable specifies the timeout in seconds for attempts to acquire metadata locks
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_lock_wait_timeout).

Acceptable values are 1 to 31536000, inclusive. ||
|| maxPreparedStmtCount | **string** (int64)

This variable limits the total number of prepared statements in the server.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_max_prepared_stmt_count).

Acceptable values are 0 to 4194304, inclusive. ||
|| optimizerSwitch | **string**

The system variable enables control over optimizer behavior.
For details, see [MySQL documentation for the variable]
https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_optimizer_switch
https://dev.mysql.com/doc/refman/8.4/en/switchable-optimizations.html ||
|| optimizerSearchDepth | **string** (int64)

The maximum depth of search performed by the query optimizer
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html)

Acceptable values are 0 to 62, inclusive. ||
|| userstat | **boolean**

Enables or disables collection of statistics
For details, see [Percona documentation for the variable](https://docs.percona.com/percona-server/8.4/diagnostics/user_stats.html#userstat). ||
|| maxExecutionTime | **string** (int64)

The execution timeout for SELECT statements, in milliseconds. If the value is 0, timeouts are not enabled.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_max_execution_time)

Acceptable values are 0 to 4294967295, inclusive. ||
|| auditLogPolicy | **enum** (AuditLogPolicy)

The policy controlling how the audit log plugin writes events to its log file
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/audit-log-reference.html#sysvar_audit_log_policy)

- `ALL`: Log all events.
- `LOGINS`: Log only login events.
- `QUERIES`: Log only query events.
- `NONE`: Do not log events. ||
|| replicationSenderObserveCommitOnly | **boolean**

Limit callbacks to improve performance for semisynchronous replication
For details, see [Percona documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/replication-options-replica.html#sysvar_replication_sender_observe_commit_only). ||
|| replicationOptimizeForStaticPluginConfig | **boolean**

Use shared locks, and avoid unnecessary lock acquisitions, to improve performance for semisynchronous replication
For details, see [Percona documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/replication-options-replica.html#sysvar_replication_optimize_for_static_plugin_config). ||
|| innodbLruScanDepth | **string** (int64)

A parameter that influences the algorithms and heuristics for the flush operation for the InnoDB buffer pool
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_lru_scan_depth)

Acceptable values are 100 to 4294967295, inclusive. ||
|| sqlRequirePrimaryKey | **boolean**

Whether statements that create new tables or alter the structure of existing tables enforce the requirement that tables have a primary key
For details, see [Percona documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_sql_require_primary_key). ||
|| mdbUseAsyncReplication | **boolean**

Enable async replication ||
|| mdbAsyncAllowedLag | **string** (int64)

Async replication allowed lag (seconds)

Acceptable values are 0 to 86400, inclusive. ||
|| mdbForceSsl | **boolean**

Force ssl on all hosts (require_secure_transport) ||
|| innodbChangeBuffering | **enum** (InnodbChangeBuffering)

An optimization for change buffering
For details, see [Percona documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_change_buffering).

- `INNODB_CHANGE_BUFFERING_NONE`: Do not buffer any operations.
- `INNODB_CHANGE_BUFFERING_INSERTS`: Buffer insert operations.
- `INNODB_CHANGE_BUFFERING_DELETES`: Buffer delete-marking operations.
- `INNODB_CHANGE_BUFFERING_CHANGES`: Buffer insert and delete-marking operations.
- `INNODB_CHANGE_BUFFERING_PURGES`: Buffer operations where undo log records are discarded.
- `INNODB_CHANGE_BUFFERING_ALL`: Buffer all types of eligible operations. ||
|| maxWriteLockCount | **string** (int64)

Permit some pending read lock requests interval
P.S. Should be UInt64, but java fails to handle UInt64 limits
For details, see [Percona documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_max_write_lock_count).

The minimum value is 1. ||
|| innodbAdaptiveHashIndexParts | **string** (int64)

Partitions the adaptive hash index search system.
For details, see [MySQL documentation for the variable](https://dev.mysql.com/doc/refman/8.4/en/innodb-parameters.html#sysvar_innodb_adaptive_hash_index_parts)

Acceptable values are 1 to 512, inclusive. ||
|#

## Resources {#yandex.cloud.mdb.mysql.v1.Resources}

Cluster resource preset.

#|
||Field | Description ||
|| resourcePresetId | **string**

ID of the resource preset that defines available computational resources (vCPU, RAM, etc.) for a cluster host.
All available presets are listed in [the documentation](../../concepts/instance-types.md). ||
|| diskSize | **string** (int64)

Volume of the storage (for each cluster host, in bytes). ||
|| diskTypeId | **string**

Type of the storage.
Possible values:
* `network-hdd` - standard network storage
* `network-ssd` - fast network storage
* `network-ssd-nonreplicated` - fast network nonreplicated storage
* `local-ssd` - fast local storage.
See [the documentation](../../concepts/storage.md) for details. ||
|#

## TimeOfDay {#google.type.TimeOfDay}

Represents a time of day. The date and time zone are either not significant
or are specified elsewhere. An API may choose to allow leap seconds. Related
types are [google.type.Date](https://github.com/googleapis/googleapis/blob/master/google/type/date.proto) and [google.protobuf.Timestamp](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/timestamp.proto).

#|
||Field | Description ||
|| hours | **integer** (int32)

Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
to allow the value "24:00:00" for scenarios like business closing time. ||
|| minutes | **integer** (int32)

Minutes of hour of day. Must be from 0 to 59. ||
|| seconds | **integer** (int32)

Seconds of minutes of the time. Must normally be from 0 to 59. An API may
allow the value 60 if it allows leap-seconds. ||
|| nanos | **integer** (int32)

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. ||
|#

## Access {#yandex.cloud.mdb.mysql.v1.Access}

#|
||Field | Description ||
|| dataLens | **boolean**

Allows access from DataLens.
See [the documentation](../../operations/datalens-connect.md) for details. ||
|| webSql | **boolean**

Allows SQL queries to the cluster databases from management console.
See [the documentation](../../operations/web-sql-query.md) for details. ||
|| dataTransfer | **boolean**

Allow access for DataTransfer. ||
|| yandexQuery | **boolean**

Allow access for YandexQuery. ||
|#

## PerformanceDiagnostics {#yandex.cloud.mdb.mysql.v1.PerformanceDiagnostics}

#|
||Field | Description ||
|| enabled | **boolean**

Flag that shows if performance statistics gathering is enabled for the cluster. ||
|| sessionsSamplingInterval | **string** (int64)

Interval (in seconds) for `my_session` sampling.

Acceptable values are 1 to 86400, inclusive. ||
|| statementsSamplingInterval | **string** (int64)

Interval (in seconds) for `my_statements` sampling.

Acceptable values are 1 to 86400, inclusive. ||
|#

## DiskSizeAutoscaling {#yandex.cloud.mdb.mysql.v1.DiskSizeAutoscaling}

#|
||Field | Description ||
|| plannedUsageThreshold | **string** (int64)

Amount of used storage for automatic disk scaling in the maintenance window, 0 means disabled, in percent.

Acceptable values are 0 to 100, inclusive. ||
|| emergencyUsageThreshold | **string** (int64)

Amount of used storage for immediately  automatic disk scaling, 0 means disabled, in percent.

Acceptable values are 0 to 100, inclusive. ||
|| diskSizeLimit | **string** (int64)

Limit on how large the storage for database instances can automatically grow, in bytes. ||
|#

## DatabaseSpec {#yandex.cloud.mdb.mysql.v1.DatabaseSpec}

#|
||Field | Description ||
|| name | **string**

Required field. Name of the database.

The maximum string length in characters is 63. Value must match the regular expression ` [a-zA-Z0-9_-]* `. ||
|| deletionProtectionMode | **enum** (DeletionProtectionMode)

Deletion Protection inhibits deletion of the database
Default value: `DELETION_PROTECTION_MODE_DISABLED` (protection is disabled)

- `DELETION_PROTECTION_MODE_DISABLED`: Deletion protection is disabled
- `DELETION_PROTECTION_MODE_ENABLED`: Deletion protection is enabled
- `DELETION_PROTECTION_MODE_INHERITED`: Deletion protection mode is inherited from the cluster ||
|#

## UserSpec {#yandex.cloud.mdb.mysql.v1.UserSpec}

#|
||Field | Description ||
|| name | **string**

Required field. Name of the user.

The maximum string length in characters is 32. Value must match the regular expression ` [a-zA-Z0-9_@.-]* `. ||
|| password | **string**

Password of the user.

The string length in characters must be 0-128. ||
|| permissions[] | **[Permission](#yandex.cloud.mdb.mysql.v1.Permission)**

Set of permissions granted to the user to access specific databases.
One permission per database.
When a permission for a database is set, the user will have access to the database. ||
|| globalPermissions[] | **enum** (GlobalPermission)

Set of global permissions to grant to the user.

- `REPLICATION_CLIENT`: Enables use of the `SHOW MASTER STATUS`, `SHOW SLAVE STATUS`, and `SHOW BINARY LOGS` statements.
- `REPLICATION_SLAVE`: Enables the account to request updates that have been made to databases on the master server,
using the `SHOW SLAVE HOSTS`, `SHOW RELAYLOG EVENTS` and `SHOW BINLOG EVENTS` statements.
- `PROCESS`: Enables display of information about the the statements currently being performed by sessions (the set of threads executing within the server).
The privilege enables use of `SHOW PROCESSLIST` or `mysqladmin` processlist to see threads belonging to other users.
You can always see your own threads. The `PROCESS` privilege also enables use of `SHOW ENGINE`.
- `FLUSH_OPTIMIZER_COSTS`: Enables use of the `FLUSH OPTIMIZER_COSTS` statement.
- `SHOW_ROUTINE`: Enables a user to access definitions and properties of all stored routines (stored procedures and functions), even those for which the user is not named as the routine DEFINER.
This access includes:
The contents of the Information Schema `ROUTINES` table.
The `SHOW CREATE FUNCTION` and `SHOW CREATE PROCEDURE` statements.
The `SHOW FUNCTION CODE` and `SHOW PROCEDURE CODE` statements.
The SHOW `FUNCTION STATUS` and `SHOW PROCEDURE STATUS` statements.
- `MDB_ADMIN`: Enables use of the KILL command, creating and dropping databases and users, granting privileges to tables and databases. ||
|| connectionLimits | **[ConnectionLimits](#yandex.cloud.mdb.mysql.v1.ConnectionLimits)**

Set of user connection limits. ||
|| authenticationPlugin | **enum** (AuthPlugin)

User authentication plugin.

- `MYSQL_NATIVE_PASSWORD`: Use [Native Pluggable Authentication](https://dev.mysql.com/doc/refman/8.0/en/native-pluggable-authentication.html).
- `CACHING_SHA2_PASSWORD`: Use [Caching SHA-2 Pluggable Authentication](https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html).
- `SHA256_PASSWORD`: Use [SHA-256 Pluggable Authentication](https://dev.mysql.com/doc/refman/8.0/en/sha256-pluggable-authentication.html).
- `MYSQL_NO_LOGIN`: Use [MYSQL_NO_LOGIN Pluggable Authentication](https://dev.mysql.com/doc/refman/8.0/en/no-login-pluggable-authentication.html).
- `MDB_IAMPROXY_AUTH`: Use [IAM Pluggable Authentication](../../../iam/concepts/authorization/index.md). ||
|| generatePassword | **boolean**

Generate password using Connection Manager. ||
|| deletionProtectionMode | **enum** (DeletionProtectionMode)

Deletion Protection inhibits deletion of the user
Default value: `DELETION_PROTECTION_MODE_DISABLED` (protection is disabled)

- `DELETION_PROTECTION_MODE_DISABLED`: Deletion protection is disabled
- `DELETION_PROTECTION_MODE_ENABLED`: Deletion protection is enabled
- `DELETION_PROTECTION_MODE_INHERITED`: Deletion protection mode is inherited from the cluster ||
|#

## Permission {#yandex.cloud.mdb.mysql.v1.Permission}

#|
||Field | Description ||
|| databaseName | **string**

Name of the database that the permission grants access to. ||
|| roles[] | **enum** (Privilege)

Roles granted to the user within the database.
See [the documentation](../../operations/grant.md) for details.

The minimum number of elements is 1.

- `ALL_PRIVILEGES`: All privileges that can be made available to the user.
- `ALTER`: Altering tables.
- `ALTER_ROUTINE`: Altering stored routines and functions.
- `CREATE`: Creating tables or indexes.
- `CREATE_ROUTINE`: Creating stored routines.
- `CREATE_TEMPORARY_TABLES`: Creating temporary tables.
- `CREATE_VIEW`: Creating views.
- `DELETE`: Deleting tables.
- `DROP`: Removing tables or views.
- `EVENT`: Creating, altering, dropping, or displaying events for the Event Scheduler.
- `EXECUTE`: Executing stored routines.
- `INDEX`: Creating and removing indexes.
- `INSERT`: Inserting rows into the database.
- `LOCK_TABLES`: Using `LOCK TABLES` statement for tables available with `SELECT` privilege.
- `SELECT`: Selecting rows from tables.
Some `SELECT` statements can be allowed without the `SELECT` privilege. All statements that read column values require the `SELECT` privilege.
See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_select) for details.
- `SHOW_VIEW`: Using the `SHOW CREATE VIEW` statement. Also needed for views used with `EXPLAIN`.
- `TRIGGER`: Creating, removing, executing, or displaying triggers for a table.
- `UPDATE`: Updating rows in the database.
- `REFERENCES`: Creation of a foreign key constraint for the parent table. ||
|#

## ConnectionLimits {#yandex.cloud.mdb.mysql.v1.ConnectionLimits}

#|
||Field | Description ||
|| maxQuestionsPerHour | **string** (int64)

The maximum permitted number of user questions per hour.

The minimum value is 0. ||
|| maxUpdatesPerHour | **string** (int64)

The maximum permitted number of user updates per hour.

The minimum value is 0. ||
|| maxConnectionsPerHour | **string** (int64)

The maximum permitted number of simultaneous client connections per hour.

The minimum value is 0. ||
|| maxUserConnections | **string** (int64)

The maximum number of simultaneous connections permitted to any given MySQL user account.

The minimum value is 0. ||
|#

## HostSpec {#yandex.cloud.mdb.mysql.v1.HostSpec}

#|
||Field | Description ||
|| zoneId | **string**

ID of the availability zone where the host resides.
To get a list of available zones, make the [yandex.cloud.compute.v1.ZoneService.List](../../../compute/api-ref/Zone/list.md#List) request.

The maximum string length in characters is 50. ||
|| subnetId | **string**

ID of the subnet to assign to the host.
This subnet should be a part of the cluster network (the network ID is specified in the [ClusterService.CreateClusterRequest.networkId](#yandex.cloud.mdb.mysql.v1.CreateClusterRequest)).

The maximum string length in characters is 50. ||
|| assignPublicIp | **boolean**

Option that enables public IP address for the host so that the host can be accessed from the internet.
After a host has been created, this setting cannot be changed.
To remove an assigned public IP address, or to assign a public IP address to a host without one, recreate the host with the appropriate `assignPublicIp` value set.
Possible values:
* `false` - don't assign a public IP address to the host.
* `true` - assign a public IP address to the host. ||
|| replicationSource | **string**

[Host.name](listHosts.md#yandex.cloud.mdb.mysql.v1.Host) of the host to be used as the replication source (for cascading replication). ||
|| backupPriority | **string** (int64)

Host backup priority

Acceptable values are 0 to 100, inclusive. ||
|| priority | **string** (int64)

Host master promotion priority

Acceptable values are 0 to 100, inclusive. ||
|#

## MaintenanceWindow {#yandex.cloud.mdb.mysql.v1.MaintenanceWindow}

Configuration of a maintenance window in a MySQL cluster.

#|
||Field | Description ||
|| anytime | **object**

Maintenance operation can be scheduled anytime.

Includes only one of the fields `anytime`, `weeklyMaintenanceWindow`.

The maintenance policy in effect. ||
|| weeklyMaintenanceWindow | **[WeeklyMaintenanceWindow](#yandex.cloud.mdb.mysql.v1.WeeklyMaintenanceWindow)**

Maintenance operation can be scheduled on a weekly basis.

Includes only one of the fields `anytime`, `weeklyMaintenanceWindow`.

The maintenance policy in effect. ||
|#

## WeeklyMaintenanceWindow {#yandex.cloud.mdb.mysql.v1.WeeklyMaintenanceWindow}

Weelky maintenance window settings.

#|
||Field | Description ||
|| day | **enum** (WeekDay)

Day of the week (in `DDD` format).

- `MON`
- `TUE`
- `WED`
- `THU`
- `FRI`
- `SAT`
- `SUN` ||
|| hour | **string** (int64)

Hour of the day in UTC (in `HH` format).

Acceptable values are 1 to 24, inclusive. ||
|#

## BackupRetentionPolicySpec {#yandex.cloud.mdb.v1.BackupRetentionPolicySpec}

Message to describe a new retention policy for cluster backups.

#|
||Field | Description ||
|| policyName | **string**

Required field. Required. Policy name. ||
|| cron | **[CronTab](#yandex.cloud.mdb.v1.CronTab)**

CronTab schedule. ||
|| retainForDays | **string** (int64)

Retention duration. ||
|| description | **string**

Human-readable description. ||
|#

## CronTab {#yandex.cloud.mdb.v1.CronTab}

Message to describe a crontab schedule.

#|
||Field | Description ||
|| dayOfMonth | **string**

Day of month in cron format. Valid values: 1-31, *, ranges (1-15), steps (*/2, 1-15/3), lists (1,15,28).
Defaults to "*". ||
|| month | **string**

Month in cron format. Valid values: 1-12, *, ranges (1-6), steps (*/3), lists (1,6,12).
Defaults to "*". ||
|| dayOfWeek | **string**

Day of week in cron format. Valid values: 0-7 (0 and 7 both mean Sunday), *, ranges (1-5), steps (0-6/2), lists (1,3,5).
Defaults to "*". ||
|#

## Response {#yandex.cloud.operation.Operation}

**HTTP Code: 200 - OK**

```json
{
  "id": "string",
  "description": "string",
  "createdAt": "string",
  "createdBy": "string",
  "modifiedAt": "string",
  "done": "boolean",
  "metadata": "object",
  // Includes only one of the fields `error`, `response`
  "error": {
    "code": "integer",
    "message": "string",
    "details": [
      "object"
    ]
  },
  "response": "object"
  // end of the list of possible fields
}
```

An Operation resource. For more information, see [Operation](../../../api-design-guide/concepts/operation.md).

#|
||Field | Description ||
|| id | **string**

ID of the operation. ||
|| description | **string**

Description of the operation. 0-256 characters long. ||
|| createdAt | **string** (date-time)

Creation timestamp.

String in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. The range of possible values is from
`0001-01-01T00:00:00Z` to `9999-12-31T23:59:59.999999999Z`, i.e. from 0 to 9 digits for fractions of a second.

To work with values in this field, use the APIs described in the
[Protocol Buffers reference](https://developers.google.com/protocol-buffers/docs/reference/overview).
In some languages, built-in datetime utilities do not support nanosecond precision (9 digits). ||
|| createdBy | **string**

ID of the user or service account who initiated the operation. ||
|| modifiedAt | **string** (date-time)

The time when the Operation resource was last modified.

String in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. The range of possible values is from
`0001-01-01T00:00:00Z` to `9999-12-31T23:59:59.999999999Z`, i.e. from 0 to 9 digits for fractions of a second.

To work with values in this field, use the APIs described in the
[Protocol Buffers reference](https://developers.google.com/protocol-buffers/docs/reference/overview).
In some languages, built-in datetime utilities do not support nanosecond precision (9 digits). ||
|| done | **boolean**

If the value is `false`, it means the operation is still in progress.
If `true`, the operation is completed, and either `error` or `response` is available. ||
|| metadata | **object**

Service-specific metadata associated with the operation.
It typically contains the ID of the target resource that the operation is performed on.
Any method that returns a long-running operation should document the metadata type, if any. ||
|| error | **[Status](#google.rpc.Status)**

The error result of the operation in case of failure or cancellation.

Includes only one of the fields `error`, `response`.

The operation result.
If `done == false` and there was no failure detected, neither `error` nor `response` is set.
If `done == false` and there was a failure detected, `error` is set.
If `done == true`, exactly one of `error` or `response` is set. ||
|| response | **object**

The normal response of the operation in case of success.
If the original method returns no data on success, such as Delete,
the response is [google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Empty).
If the original method is the standard Create/Update,
the response should be the target resource of the operation.
Any method that returns a long-running operation should document the response type, if any.

Includes only one of the fields `error`, `response`.

The operation result.
If `done == false` and there was no failure detected, neither `error` nor `response` is set.
If `done == false` and there was a failure detected, `error` is set.
If `done == true`, exactly one of `error` or `response` is set. ||
|#

## Status {#google.rpc.Status}

The error result of the operation in case of failure or cancellation.

#|
||Field | Description ||
|| code | **integer** (int32)

Error code. An enum value of [google.rpc.Code](https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto). ||
|| message | **string**

An error message. ||
|| details[] | **object**

A list of messages that carry the error details. ||
|#