This section describes what to do to downgrade to an older MySQL version, in the unlikely case that the previous version worked better than the new one.
It is always a good idea to make a backup beforehand, in case a downgrade fails and leaves the instance in an unusable state.
To downgrade between General Availability (GA) status versions within the same release series, typically you just install the new binaries on top of the old ones and do not make any changes to the databases.
Downgrades between milestone releases (or from a GA release to a milestone release) within the same release series are not supported and you may encounter issues.
The following items form a checklist of things to do whenever you perform a downgrade:
Read the upgrading section for the release series from which you are downgrading to be sure that it does not have any features you really need. See Section 2.10.1, “Upgrading MySQL”.
If there is a downgrading section for that version, read that as well.
To see which new features were added between the version to which you are downgrading and your current version, see the Release Notes.
Check Section 2.10.3, “Checking Whether Tables or Indexes Must Be Rebuilt”, to see whether changes to table formats or to character sets or collations were made between your current version of MySQL and the version to which you are downgrading. If so and these changes result in an incompatibility between MySQL versions, you will need to downgrade the affected tables using the instructions in Section 2.10.4, “Rebuilding or Repairing Tables or Indexes”.
In most cases, you can move the MySQL format files and data files between different GA versions on the same architecture as long as you stay within versions for the same release series of MySQL.
If you downgrade from one release series to another, there may be incompatibilities in table storage formats. In this case, use mysqldump to dump your tables before downgrading. After downgrading, reload the dump file using mysql or mysqlimport to re-create your tables. For examples, see Section 2.10.5, “Copying MySQL Databases to Another Machine”.
A typical symptom of a downward-incompatible table format change when you downgrade is that you cannot open tables. In that case, use the following procedure:
Stop the older MySQL server that you are downgrading to.
Restart the newer MySQL server you are downgrading from.
Dump any tables that were inaccessible to the older server by using mysqldump to create a dump file.
Stop the newer MySQL server and restart the older one.
Reload the dump file into the older server. Your tables should be accessible.
If system tables in the
mysql database changed,
downgrading might introduce some loss of functionality or require
some adjustments. Here are some examples:
Trigger creation requires the
privilege as of MySQL 5.1. In MySQL 5.0, there is no
TRIGGER privilege and
SUPER is required instead. If you downgrade
from MySQL 5.1 to 5.0, you will need to give the
SUPER privilege to those accounts that had
TRIGGER privilege in 5.1.
Triggers were added in MySQL 5.0, so if you downgrade from 5.0 to 4.1, you cannot use triggers at all.
mysql.proc.comment column definition
changed between MySQL 5.1 and 5.5. After a downgrade from 5.5
to 5.1, this table is seen as corrupt and in need of repair.
To workaround this problem, execute
mysql_upgrade from the version of MySQL to
which you downgraded.