For supported Yum-based platforms (see Chapter 1, Installing MySQL on Linux Using the MySQL Yum Repository, for a list), you can perform an in-place upgrade for MySQL (that is, replacing the old version and then running the new version off the old data files) with the MySQL Yum repository.
Before performing any update to MySQL, follow carefully the instructions in Upgrading MySQL. Among other instructions discussed there, it is especially important to back up your database before the update.
The following instructions assume you have installed MySQL with the MySQL Yum repository; if that is not the case, follow the instructions in Chapter 2, Replacing a Third-Party Distribution of MySQL Using the MySQL Yum Repository.
By default, the MySQL Yum repository updates MySQL to the
latest version in the release series you have chosen
during installation (see
Selecting a Release Series for details),
which means, for example, a 5.6.x installation will NOT be
updated to a 5.7.x release automatically. To update to
another release series, you need to first disable the
subrepository for the series that has been selected (by
default, or by yourself) and enable the subrepository for
your target series. To do that, follow the steps explained
Selecting a Release Series
for editing the subrepository entries in
As a general rule, to upgrade from one release series to another, go to the next series rather than skipping a series. For example, if you are currently running MySQL 5.5 and wish to upgrade to 5.7, upgrade to MySQL 5.6 first before upgrading to 5.7.
For important information about upgrading from MySQL 5.6 to 5.7, see Upgrading from MySQL 5.6 to 5.7.
Upgrade MySQL and its components by the following command:
sudo yum update mysql-server
Alternatively, you can update MySQL by telling Yum to update everything on your system (this might take considerably more time):
sudo yum update
The MySQL server always restarts after an update by Yum. Once the server restarts, run mysql_upgrade to check and possibly resolve any incompatibilities between the old data and the upgraded software. mysql_upgrade also performs other functions; see mysql_upgrade — Check and Upgrade MySQL Tables for details.
You can also update only a specific component. Use the following command to list all the installed packages for the MySQL components:
sudo yum list installed | grep "^mysql"
After identifying the package name of the component of your
choice, update the package with the following command, replacing
package-name with the name of the
sudo yum update
After updating MySQL using the Yum repository, applications compiled with older versions of the shared client libraries should continue to work.
If you recompile applications and dynamically link them with the updated libraries: As typical with new versions of shared libraries where there are differences or additions in symbol versioning between the newer and older libraries (for example, between the newer, standard 5.6 shared client libraries and some older—prior or variant—versions of the shared libraries shipped natively by the Linux distributions' software repositories, or from some other sources), any applications compiled using the updated, newer shared libraries will require those updated libraries on systems where the applications are deployed. And, as expected, if those libraries are not in place, the applications requiring the shared libraries will fail. So, be sure to deploy the packages for the shared libraries from MySQL on those systems. You can do this by adding the MySQL Yum repository to the systems (see Adding the MySQL Yum Repository) and install the latest shared libraries using the instructions given in Installing Additional MySQL Products and Components with Yum.