This topic describes how to upgrade MemSQL from an earlier version.
To upgrade MemSQL from versions 3.2 and earlier, see Upgrading MemSQL from 3.2 and earlier. This page describes how to upgrade MemSQL from versions 4.0 and later. This page assumes the MemSQL cluster is managed by MemSQL Ops.
Prior to upgrading:
- Taking a backup is recommended as a standard precautionary measure.
- If necessary, add your license key (see Replacing a MemSQL License). This does not apply to Community Edition.
Step 1: Upgrade MemSQL Ops
$ memsql-ops agent-upgrade
Step 2: Upgrade MemSQL
There are two approaches to upgrading a MemSQL cluster:
Option 1: Offline Cluster Upgrade
The simplest upgrade process is an offline cluster upgrade. This will upgrade all nodes at the same time, shutting down the entire cluster for the duration of the upgrade.
Execute the following command to start an offline upgrade:
$ memsql-ops memsql-upgrade [--version <VERSION>]
This command will shut down the entire cluster for the duration of the upgrade. For more information, see the full documentation for the command MEMSQL-UPGRADE.
It’s important to understand that an offline upgrade installs a new version of MemSQL to a different path instead of overriding the existing installation. Specifically, MemSQL Ops appends “-1” to the end of the installation directory name, for example:
master-3306-1 instead of
The older installation directory is deleted after after a successful upgrade, leaving just a
master-3306-1 path. The next time the node restarts, the
master-3306-1 directory will be renamed to
By using a different directory to upgrade, the installation process can be safely rolled back, since the upgrade process does not modify any of the files in the older version’s directory.
Any custom scripts using a hardcoded path to the MemSQL installation directory should be updated to reflect the change of the installation directory caused by the upgrade, or ideally use the
memsql-path command instead of a hardcoded path. For more information, see MEMSQL-PATH.
Option 2: Online, incremental cluster upgrade (High Availability clusters only)
If the cluster is running with High Availability, you also have the option to perform an online, incremental cluster upgrade, which maintains cluster availability throughout the upgrade process. Follow the instructions in Online Upgrade.