Error
Error Code:
1708
MySQL Error 1708: Conflicting Parameter Values
Description
This error indicates that a configured MySQL server parameter has a value set lower than a related interdependent parameter's required minimum. It typically occurs when MySQL's internal validation rules for system variables are violated, preventing the server from starting or operating correctly.
Error Message
The value of '%s' should be no less than the value of '%s'
Known Causes
4 known causesInterdependent Parameter Conflict
MySQL configuration variables (e.g., `my.cnf`) are set with values where one parameter's value is less than another's required minimum.
Manual Configuration Errors
Typographical errors or incorrect values introduced during manual editing of MySQL configuration files lead to validation failures.
Automated Deployment Mismatch
Configuration management tools or deployment scripts apply parameter values that conflict with MySQL's current validation rules.
Post-Upgrade Incompatibilities
Existing configuration files become incompatible after a MySQL version upgrade due to changes in default values or validation logic.
Solutions
3 solutions available1. Identify and Adjust Conflicting Parameters in Configuration File medium
Locate and correct the parameters in your my.cnf or my.ini file that have conflicting values.
1
Identify the specific parameters mentioned in the error message. The error message format '%s' should be no less than the value of '%s' will explicitly name the two parameters in question.
2
Locate your MySQL configuration file. This is typically `my.cnf` on Linux/macOS or `my.ini` on Windows.
3
Open the configuration file with a text editor.
4
Search for the two parameters identified in step 1. You will likely find them under a section like `[mysqld]`.
5
Carefully review the values assigned to these parameters. Ensure that the parameter that should be 'no less than' the other actually has a value greater than or equal to it. Adjust the values as necessary to resolve the conflict.
Example: If error is 'innodb_buffer_pool_size' should be no less than 'innodb_log_file_size * innodb_log_files_in_group', ensure this condition is met.
6
Save the configuration file.
7
Restart the MySQL server for the changes to take effect.
For Linux/macOS (using systemd):
sudo systemctl restart mysql
For Linux/macOS (using init.d):
sudo service mysql restart
For Windows:
Open Services.msc, find 'MySQL', and restart it.
2. Verify Dynamic Parameter Settings medium
Check if the conflicting parameters are being set dynamically, for example, via `SET GLOBAL` or in startup scripts, and correct them.
1
Connect to your MySQL server using a client like `mysql` or MySQL Workbench.
2
Execute a query to check the current values of the parameters mentioned in the error message.
SHOW VARIABLES LIKE 'parameter_name';
-- Replace 'parameter_name' with the actual parameter names from the error.
3
If the parameters are set dynamically and are conflicting, identify where these settings are being applied. This could be in a script that runs on server startup, or a manual `SET GLOBAL` command executed previously.
4
Modify the source of the dynamic setting (e.g., startup script, application code) to ensure the parameters are set with compatible values. If it was a manual `SET GLOBAL` command, re-execute it with correct values or restart the server if the configuration file is the primary source.
Example of correcting a dynamic setting:
SET GLOBAL innodb_buffer_pool_size = 134217728; -- Example value
5
Restart the MySQL server if you made changes to startup scripts or if the dynamic settings are not immediately reflected.
Refer to step 7 in 'Identify and Adjust Conflicting Parameters in Configuration File' for restart commands.
3. Review and Correct Replication Configuration advanced
Ensure that replication-related parameters are correctly configured if the error occurs in a replication setup.
1
If this error occurs on a replication slave, particularly during startup or after a configuration change, examine your replication configuration. The error message might point to parameters like `relay_log_size` and `max_binlog_size` or similar.
2
Check the `my.cnf` or `my.ini` file on the replication slave for relevant parameters. Common parameters involved in such conflicts include `relay_log_size`, `slave_parallel_workers`, and parameters related to binary log usage if the slave is also a master (e.g., `binlog_format`).
3
Ensure that parameters like `relay_log_size` are sufficiently large to accommodate the expected data volume from the master, and that related parameters (like `max_relay_log_size`) are not set to values that create a conflict. For example, `max_relay_log_size` should be greater than or equal to `relay_log_size` if both are set.
Example: If `relay_log_size` is 100MB, `max_relay_log_size` should be at least 100MB or not set if `relay_log_size` is sufficient.
4
If you are using parallel replication (`slave_parallel_workers > 0`), ensure that the configuration of parallel threads and related parameters does not lead to conflicts. This is less common for Error 1708 but can sometimes manifest indirectly.
5
Apply the necessary corrections to the configuration file and restart the MySQL server on the slave.
Refer to step 7 in 'Identify and Adjust Conflicting Parameters in Configuration File' for restart commands.