What the MySQL Upgrade Process Upgrades •The data dictionary version. This applies to the data dictionary tables. •The server version, also known as the MySQL version. This applies to the system tables and objects in other schemas. In both cases, the actual version applicable to the existing MySQL installation is stored in the data dictionary, and the current expected version is compiled into the new version of MySQL. When an actual version is lower than the current expected version, those parts of the installation associated with that version must be upgraded to the current version. If both versions indicate an upgrade is needed, the data dictionary upgrade must occur first. As a reflection of the two distinct versions just mentioned, the upgrade occurs in two steps: •Step 1: Data dictionary upgrade. •The data dictionary tables in the  mysql  schema. If the actual data dictionary version is lower than the current expected version, the server creates data dictionary tables with updated definitions, copies persisted metadata to the new tables, atomically replaces the old tables with the new ones, and reinitializes the data dictionary. •The Performance Schema,  INFORMATION_SCHEMA , and  ndbinfo . •Step 2: Server upgrade. •The system tables in the  mysql  schema (the remaining non-data dictionary tables). •The  sys  schema. •User schemas. •Prior to MySQL 8.0.16,  mysql_upgrade  upgrades the Performance Schema, the INFORMATION_SCHEMA , and the objects described in step 2. The DBA is expected to invoke mysql_upgrade  manually after starting the server. •As of MySQL 8.0.16, the server performs all tasks previously handled by  mysql_upgrade . Although upgrading remains a two-step operation, the server performs them both, resulting in a simpler process. Depending on the version of MySQL to which you are upgrading, the instructions in In-Place Upgrade and Logical Upgrade indicate whether the server performs all upgrade tasks or whether you must also invoke mysql_upgrade  after server startup. Some changes to the responsibility for step 2 occurred in MySQL 8.0.16: If the data dictionary is out of date but the server is prevented from upgrading it, the server does not run, and exits with an error instead. For example: The data dictionary upgrade (step 1) is the responsibility of the server, which performs this task as necessary at startup unless invoked with an option that prevents it from doing so. The option is  -- upgrade=NONE  as of MySQL 8.0.16,  --no-dd-upgrade  prior to MySQL 8.0.16. This step comprises all other upgrade tasks. If the server version of the existing MySQL installation is lower than that of the new installed MySQL version, everything else must be upgraded: This step upgrades: [ERROR] [MY-013381] [Server] Server shutting down because upgrade is required, yet prohibited by the command line option ’--upgrade=NONE’. [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine [ERROR] [MY-010020] [Server] Data Dictionary initialization failed. 264