DBAtlas · Atlas d'exploitation des bases de données

Pré-vérification de mise à niveau 8.0 → 8.4 LTS (util.checkForServerUpgrade)

MySQLMise à niveau

Commande

# 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

Ce que fait la commande

Vérifie le serveur actuel par rapport à la version cible : variables et privilèges supprimés, paramètres aux nouvelles valeurs par défaut, anciennes méthodes d'authentification, définitions de colonnes invalides, problèmes de clés étrangères et de partitions. Les constats de niveau Error bloquent la mise à niveau.

Quand l'utiliser

Avant chaque mise à niveau majeure / LTS ; relancez après avoir corrigé les constats.

Attention

Examinez aussi les avertissements : en 8.4, des valeurs par défaut comme innodb_io_capacity (10000), innodb_log_buffer_size (64 MB), innodb_adaptive_hash_index (OFF), innodb_change_buffering (none), innodb_buffer_pool_instances et group_replication_consistency changent et peuvent affecter les performances ; fixez dans my.cnf les valeurs dont vous voulez garder le comportement actuel. Les privilèges supprimés comme SET_USER_ID sont retirés pendant la mise à niveau. Mettez d'abord à niveau un réplica, observez-le sous charge, puis basculez ; le retour arrière binaire de 8.4 vers 8.0 n'est pas pris en charge, la solution de repli est donc une sauvegarde logique ou un réplica laissé sur l'ancienne version.

Ouvrir dans DBAtlas →