Skip to content

Rate this page
Thanks for your feedback
Thank you! The feedback has been submitted.

For help, click the link below to get free database assistance or contact our experts for personalized support.

Upgrade checklist for 9.7

Thorough preparation and validation reduce risk more than any cutover tactic. Use this checklist to guide your upgrade from 8.4 to 9.7, validating each item in staging before upgrading production.

Pre-upgrade checks

Complete these checks before starting the upgrade process.

Authentication and connectivity

Impact: mysql_native_password is disabled by default in 9.7; default_authentication_plugin is removed. New accounts default to caching_sha2_password. The mysql_native_password plugin can still be loaded using --mysql-native-password=ON if needed, but it will be completely removed in the MySQL 9.x series.

Action:

  • Inventory accounts and applications that still use mysql_native_password.
  • Verify drivers/clients support caching_sha2_password and TLS as configured.
  • Plan account migration to caching_sha2_password. If temporary compatibility is needed, --mysql-native-password=ON can be used, but plan migration as this plugin will be removed in future versions.
  • See: authentication methods

Replication and operational scripts

Impact: MASTER/SLAVE syntax is removed and will cause syntax errors if used; use SOURCE/REPLICA commands.

Action:

  • Search and update scripts: START REPLICA, SHOW REPLICA STATUS, CHANGE REPLICATION SOURCE TO.
  • Validate Orchestrator/HA tooling versions for 9.7 syntax.
  • Update Percona Toolkit calls: replace pt-slave-find with pt-replica-find, and pt-slave-restart with pt-replica-restart; remove pt-slave-delay usage.
  • See: Percona Toolkit updates for 9.7

Removed features and variables

Impact: Several legacy statements, status counters, variables, and functions are removed in 9.7.

Action:

  • Replace MASTER/SLAVE statements and counters with SOURCE/REPLICA equivalents.
  • Migrate from expire_logs_days to binlog_expire_logs_seconds.
  • Replace WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS() with WAIT_FOR_EXECUTED_GTID_SET().
  • Remove dependencies on built-in memcached variables/APIs.

Reserved keywords in identifiers

Impact: New reserved words (for example, MANUAL, PARALLEL, QUALIFY, TABLESAMPLE) can break schemas and queries.

Action:

Schema constraints

Impact: AUTO_INCREMENT is not allowed on FLOAT/DOUBLE.

Action:

  • Identify and convert any FLOAT/DOUBLE AUTO_INCREMENT columns to integer types prior to upgrade.

Backup and recovery rehearsal

Action:

  • Take a hot backup with Percona XtraBackup; document restore steps and timings.
  • Restore into a clean 9.7 environment; validate startup and metadata upgrade.
  • See: Backup and restore overview

Behavior comparison and testing

Action:

  • Use pt-upgrade to compare query plans/behavior between 8.4 and 9.7.
  • Run application smoke and load tests against a restored 9.7 copy.

Rollback feasibility

Action:

  • Define a rollback path (for example, keep 8.4 environment on standby or validate point-in-time recovery to 8.4-compatible readers if applicable).
  • Confirm cutover/rollback runbooks with approvers.

Post-upgrade validation

Run these checks immediately after upgrading from 8.4 to 9.7 and before widening traffic.

Connectivity and authentication

  • Verify application logins for every service account.
  • Confirm new account creations default to caching_sha2_password as expected.

Replication health (if applicable)

  • Confirm SHOW REPLICA STATUS reports healthy IO/SQL threads.
  • Exercise planned failover and change-source procedures.

Spatial indexes

  • Re-create any spatial indexes dropped pre-upgrade.
  • Run integrity checks (for example, CHECK TABLE ... EXTENDED) and representative spatial queries to verify index health.

Workload and performance baselines

  • Re-run baseline queries and workload tests; compare latency and throughput.
  • Review changes in 9.7 defaults that can affect performance (optimizer/costing, redo/undo, IO settings) and tune as needed.

Logs and observability

  • Review error logs and warnings post-startup and during smoke tests.
  • Inspect Performance Schema metrics and application SLOs for regressions.

Backup and recovery

  • Take a fresh full backup with Percona XtraBackup.
  • Optionally perform a spot restore test to validate recovery on 9.7.

Further reading