DBAtlas · Database operations atlas

8.0 → 8.4 LTS upgrade pre-check (util.checkForServerUpgrade)

MySQLUpgrade

Command

# State the target version explicitly; the Shell must be the same version as the target or newer
mysqlsh root@db1:3306 -- util check-for-server-upgrade --target-version=8.4.10 --output-format=TEXT
# JSON output for automation, including a my.cnf check
mysqlsh root@db1:3306 -- util check-for-server-upgrade --target-version=8.4.10 --output-format=JSON --config-path=/etc/my.cnf > /tmp/upgrade_check.json

What it does

Checks the current server against the target version: removed variables and privileges, parameters with new defaults, legacy authentication methods, invalid column definitions, foreign key and partition issues. Error-level findings block the upgrade.

When to use it

Before every major / LTS upgrade; rerun after fixing the findings.

Caution

Review the warnings too: in 8.4 defaults such as innodb_io_capacity (10000), innodb_log_buffer_size (64 MB), innodb_adaptive_hash_index (OFF), innodb_change_buffering (none), innodb_buffer_pool_instances and group_replication_consistency change and may affect performance; pin the values whose current behavior you want to keep in my.cnf. Removed privileges such as SET_USER_ID are dropped during the upgrade. Upgrade a replica first, watch it under load, then switch over; binary downgrade from 8.4 to 8.0 is not supported, so the fallback is a logical backup or a replica left on the old version.

Open in DBAtlas →