Outdated Version

You are viewing an older version of this section. View current production version.

Upgrading MemSQL min read


MemSQL Ops has been deprecated

Please follow this guide to learn how to migrate to SingleStore tools.

Info

This topic does not apply to MemSQL Helios.

Upgrade your cluster

Select an option below to upgrade your cluster.

Step 1: Upgrade SingleStore DB Tools

To upgrade your existing MemSQL cluster, we recommend upgrading singlestoredb-toolbox to 1.5.3 or later prior to upgrading MemSQL.

Run the install command to either install singlestoredb-toolbox if it is not already installed, or upgrade an existing version of singlestoredb-toolbox to the latest version of the package.

RHEL/CentOS

sudo yum install singlestoredb-toolbox -y

Debian

sudo apt install singlestoredb-toolbox -y

Upgrade without Internet access

If your cluster does not have internet access, use one of the following buttons to download either the latest RPM or Debian singlestoredb-toolbox package to a location accessible by your cluster:

singlestoredb-toolbox (rpm) singlestoredb-toolbox (deb)

Then, run the install command for the installed package manager and specify the path to the package.

RHEL/CentOS

sudo yum install /path/to/singlestoredb-toolbox.rpm -y

Debian

sudo apt install /path/to/singlestoredb-toolbox.deb -y

Now you are ready to upgrade MemSQL.

Step 2: Upgrade MemSQL

The simplest and preferred upgrade option is an offline cluster upgrade. It is the least error-prone and easiest to execute; however, it requires downtime as all of the nodes in the cluster will be upgraded at the same time, shutting down the entire cluster for the duration of the upgrade.

If the cluster is running with High Availability, you also have the option to perform an incremental online cluster upgrade, which maintains cluster availability throughout the upgrade process. See the instructions in the Online upgrade section for more details.

Option 1: Offline upgrade

Note: Using this method to upgrade MemSQL is referred to as an “offline” upgrade as your MemSQL cluster will be shut down and restarted over the course of the upgrade. Do not shut down your cluster prior to starting the upgrade. If the cluster or individual nodes are offline when the upgrade is started, the upgrade will fail.

Execute the following command to start an offline upgrade.

  1. Confirm that the cluster can be upgraded. The cluster will not be upgraded when running this command.

    sdb-deploy upgrade --precheck-only
    
  2. Upgrade your cluster.

    Note: sdb-deploy upgrade will perform a snapshot of all databases prior to upgrade.

    sdb-deploy upgrade --version 7.0
    

If you do not specify a patch version, your cluster will be upgraded to the latest patch version of MemSQL 7.0. Refer to MemSQL release notes for available patch versions.

Note: You cannot downgrade from your current version.

If your cluster does not have internet access, use one of the following buttons to download either the latest RPM or Debian memsql-server package to a location accessible by your cluster:

memsql-server (rpm) memsql-server (deb)

The memsql-server package contains both the MemSQL binary and the low-level management tool, memsqlctl.

Run the sdb-deploy upgrade command and reference the appropriate package in the --file-path argument. Running upgrade (as opposed to simply upgrading the package via the package manager) will perform an offline restart of all the nodes to make sure the cluster is using the new version.

RHEL/CentOS

sdb-deploy upgrade --file-path /path/to/memsql-server.rpm

Debian

sdb-deploy upgrade --file-path /path/to/memsql-server.deb

For more information on the upgrade command, see the SingleStore DB Tools reference documentation.

Option 2: Online upgrade

This upgrade method is referred to as an “online” upgrade as your MemSQL cluster will not be shut down over the course of the upgrade. Nodes will be restarted in a specific sequence to ensure that DML-based workloads will still function. Do not shut down your cluster prior to starting the upgrade. If the cluster or individual nodes are offline when the upgrade is started, the upgrade will fail.

Info

An online upgrade may fail if a long-running workload that writes to the database is running on the target cluster. We recommend performing an online upgrade only after these workloads have completed.

Toolbox 1.11.7 and later provide the option to retry a failed online upgrade. Should the online upgrade ultimately fail, an offline upgrade will be attempted. Note that the cluster will be shut down and restarted over the course of an offline upgrade.

Execute the following command to start an online upgrade.

  1. Confirm that the cluster can be upgraded. The cluster will not be upgraded when running this command.

    sdb-deploy upgrade --precheck-only
    
  2. Upgrade your cluster.

    Note: sdb-deploy upgrade will perform a snapshot of all databases prior to upgrade.

    sdb-deploy upgrade --online --version 7.0
    

By specifying --version 7.0, your cluster will be upgraded to the latest patch version of MemSQL 7.0. Refer to MemSQL release notes for available patch versions.

Note: You cannot downgrade from your current version.

If your cluster does not have internet access, use one of the following buttons to download either the latest RPM or Debian memsql-server package to a location accessible by your cluster:

memsql-server (rpm) memsql-server (deb)

The memsql-server package contains both the MemSQL binary and the low-level management tool, memsqlctl.

Run the sdb-deploy upgrade --online command and reference the appropriate package in the --file-path argument. Running upgrade (as opposed to simply upgrading the package via the package manager) will perform an offline restart of all the nodes to make sure the cluster is using the new version.

RHEL/CentOS

sdb-deploy upgrade --online --file-path /path/to/memsql-server.rpm

Debian

sdb-deploy upgrade --online --file-path /path/to/memsql-server.deb

For more information on the upgrade command, see the SingleStore DB Tools reference documentation.

Step 1: Upgrade MemSQL Ops

To upgrade your existing MemSQL cluster, we recommend upgrading to the latest version of MemSQL Ops before upgrading MemSQL.

If you are running Ops 6.0 or later, you can upgrade Ops to the latest version by running the agent-upgrade command.

memsql-ops agent-upgrade

Upgrade without Internet access

If your cluster does not have internet access, download the 7.0.6 version to your local machine. Then, run the agent-upgrade command using the --file-path argument.

sudo memsql-ops agent-upgrade --file-path /path/to/memsql-ops-XYZ.tar.gz

Now you are ready to upgrade MemSQL.

Step 2: Upgrade MemSQL

The currently supported upgrade option is an offline cluster upgrade. It requires downtime as all of the nodes in the cluster will be upgraded at the same time.

Offline upgrade

Note: Upgrading to MemSQL 7.0 is referred to as an “offline” upgrade as your MemSQL cluster will be shut down and restarted over the course of the upgrade. Do not shut down your cluster prior to starting the upgrade. If the cluster or individual nodes are offline when the upgrade is started, the upgrade will fail.

Execute the following command to start an offline upgrade.

memsql-ops memsql-upgrade --version 7.0

If you do not specify a patch version, your cluster will be upgraded to the latest patch version of MemSQL 7.0. Refer to MemSQL release notes for available patch versions.

Note: You cannot downgrade from your current version.

If your cluster does not have internet access, download the MemSQL binary from the following locations before running the memsql-upgrade command with the --file-path argument:

sudo memsql-ops memsql-upgrade --file-path /path/to/memsqlbin_amd64.tar.gz

For more information on the memsql-upgrade command, see the CLI reference documentation.