Upgrading MariaDB on Windows
Contents
General information on upgrade and version coexistence
This section assumes MSI installations.
MariaDB (and also MySQL) allows different versions of the product to co-exist on the same machine, as long as these versions are different either in major or minor version numbers. For example, it is possible to have say MariaDB 5.1.51 and 5.2.6 to be installed on the same machine.
However only a single instance of 5.2 can exist. If for example 5.2.7 is installed on a machine where 5.2.6 is already installed, the installer will just replace 5.2.6 executables with 5.2.7 ones.
Now imagine, that both 5.1 and 5.2 are installed on the same machine and we
want to upgrade the database instance running on 5.1 to the new version. In
this case special tools are requied. Traditionally, mysql_upgrade
is used
to accomplish this. On Windows, the
MySQL
upgrade is a complicated multiple-step manual process.
Since MariaDB 5.2.6, the Windows distribution includes tools that simplify migration between different versions and also allow migration between MySQL and MariaDB.
Note. Automatic upgrades are only possible for DB instances that run as a Windows service.
General recommendations
The following install/upgrade sequence is recommended in case of "major" upgrades, like going from 5.3 to 5.5
- Install new version, while still retaining the old one
- Upgrade services one by one, like described later in the document (e.g with mysql_upgrade_service). It is recommeded to have services are cleanly shutdown before the upgrade.
- Uninstall old version once no service refers to it.
Note. This recommendation differs from general procedure on Unixes, where the sequence is "uninstall old, install new"
Upgrade Wizard
This is a GUI tool that is typically invoked at the end of a MariaDB installation if upgradable services are found. The UI allows you to select instances you want to upgrade.
mysql_upgrade_service
This is a command line tool that performs upgrades. The tool requires full administrative privileges (it has to start and stop services).
Example usage:
mysql_upgrade_service --service=MySQL
mysql_upgrade_service
accepts a single parameter —
the name of the MySQL or MariaDB service. It performs all the steps to convert
a MariaDB/MySQL instance running as the service to the current version.
Migration to 64 bit MariaDB from 32 bit
Earlier we said that only single instance of "MariaDB <major>.<minor>" version can be installed on the same machine. This was almost correct, because MariaDB MSI installations allow 32 and 64-bit versions to be installed on the same machine, and in this case it is possible to have two instances of say 5.2 installed at the same time, an x86 one and an x64 one. One can use the x64 Upgrade wizard to upgrade an instance running as a 32-bit process to run as 64-bit.
Upgrading ZIP-based installations.
Both UpgradeWizard and mysql_upgrade_service can also be used to upgrade database instances that were installed with the ZIP installation.