Parameter list
The parameter list and basic concepts provided by KakaoCloud MySQL follow the MySQL official documentation. Changing parameters may affect MySQL service operation, so review the purpose and values of each parameter before making changes.
Parameters to be careful when modifying
Some parameters can affect memory usage, connection count, character set, search features, and other behavior. Before changing them, check the instance specifications, workload, and dependencies between parameters.
InnoDB memory and log parameters
| Parameter | Purpose | Notes when modifying |
|---|---|---|
innodb_buffer_pool_size | Sets the InnoDB buffer pool size | If too small, performance may degrade. If too large, system memory may become insufficient Configure based on instance group specifications and workload - Reserved expression example: {kc.InstanceMemory * 6 / 10}- Depending on MySQL buffer pool management, it may be readjusted to a multiple of {innodb_buffer_chunk_size * innodb_buffer_pool_instances} |
innodb_buffer_pool_chunk_size | Sets the chunk size used when allocating the InnoDB buffer pool | If too small, memory allocation efficiency may decrease. If too large, initialization time may increase Check its relationship with innodb_buffer_pool_size- Changing this value may automatically increase innodb_buffer_pool_size |
innodb_buffer_pool_instances | Sets the number of instances that divide the InnoDB buffer pool | If too low, contention may degrade performance. If too high, memory may be wasted Configure based on instance group specifications - Reserved expression example: { MIN(kc.InstanceVcpu * 2, 64) } |
innodb_redo_log_capacity | Sets the total InnoDB redo log capacity | If too small, performance may degrade because log files fill up quickly. If too large, disk usage may increase Check transaction volume and log storage usage |
Connection and time setting parameters
| Parameter | Purpose | Notes when modifying |
|---|---|---|
max_connections | Sets the maximum number of concurrent connections allowed to the MySQL server | If too low, connections may fail. If too high, resource usage may increase Configure based on instance group specifications and application connection count - Reserved expression example: { MIN(kc.InstanceMemory / 12582880, 16000) } |
time_zone | Sets the MySQL server time zone | Incorrect time zone settings may cause timestamp and time-related data errors The time zone of each connecting client can be initialized - Available value examples: system, +00:00, +01:00 |
Character set and collation parameters
character_set_* and collation_* parameters must be set to compatible values. In particular, character_set_server and collation_server are related, so changing only one value may cause MySQL to automatically adjust it to a value that matches the same character set. Before changing them, see the MySQL official documentation for character sets, character set and collation compatibility, and server character set and collation.
| Parameter | Purpose | Notes when modifying |
|---|---|---|
character_set_clientcharacter_set_connectioncharacter_set_filesystemcharacter_set_resultscharacter_set_server | Specifies the character set used in databases, tables, and columns | Incorrect settings may cause data corruption, performance degradation, or compatibility issues Select a character set appropriate for the environment and check compatibility with collation_* parameters |
collation_connectioncollation_server | Sets string comparison and sorting rules within a specific character set | Incorrect settings may cause data integrity issues, performance degradation, or compatibility issues Set a collation compatible with character_set_* parameters |
character_set_servercollation_server | Sets the default character set and collation for the MySQL server | Changing only one value may cause MySQL to automatically adjust it to a value that matches the same character set Change both parameters together as a compatible combination - Example: If only character_set_server is changed to big5, the collation_server value shown in the console may differ from the value actually applied in the DB |
Feature dependency parameters
| Parameter | Purpose | Notes when modifying |
|---|---|---|
innodb_ft_aux_table | Specifies the auxiliary table for InnoDB full-text search | Incorrect settings may cause full-text search issues Condition for normal operation: enter an existing table name - If a non-existent table is entered, normal operation cannot be verified |
Expressions, functions, and reserved keywords used in parameters
Some parameters in custom parameter groups support expressions, functions, and reserved keywords. These can only be used with numeric and string type parameters.
The result of any expression must be within the range of a 64-bit signed integer (-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807).
If the result exceeds this range, it will not be accepted.
| Category | Description |
|---|---|
| Expression | Must always be written within {} |
Can use (), +, -, *, / | |
| Result must always be a number | |
For INTEGER data types, decimals are truncated | |
| Function | MAX(a, b, ...): Returns the largest value. Must be uppercase. |
MIN(a, b, ...): Returns the smallest value. Must be uppercase. | |
SUM(a, b, ...): Returns the sum. Must be uppercase. | |
IF(condition, a, b): Returns a if true, b if false. Must be uppercase. | |
| Reserved Keywords | kc.InstanceMemory: Memory size (bytes) of the current DB instance type |
kc.InstanceVcpu: Number of vCPU cores in the DB instance | |
kc.VolumeSizeData: Data volume size | |
kc.VolumeSizeLog: Log volume size | |
kc.InstanceCount: Total number of nodes | |
kc.InstancePrimaryCount: Number of Primary nodes | |
kc.InstanceStandbyCount: Number of Standby nodes | |
kc.InstanceGroupId: Instance group ID |
Usage example
Below is an example using the default value for max_connections.
Example
Returns the smaller of the two values: result of kc.InstanceMemory / 12582880 (rounded down), and 16000.
{ MIN(kc.InstanceMemory / 12582880, 16000) }