Replacing a MemSQL License (MemSQL Ops)

Info

As of MemSQL 6.7, MemSQL Ops is a deprecated tool. You are encouraged to use the new MemSQL management tools for future deployments and cluster management operations. See the installation guides for more details on how to deploy and manage a cluster using the new management tools.

This page describes how to replace your MemSQL license.

All new RAM-based and unit-based licenses obtained through the MemSQL Customer Portal must be set and updated differently than previous RAM-based licenses that shipped as part of the MemSQL database tarball. Instead of setting the license key through the MemSQL Ops UI or the Ops CLI, you must get a license from the portal and set it by directly connecting to the master aggregator from a client application and running the SET LICENSE command below:

SET LICENSE = '<base64-encoded license>';

For RAM-based licenses obtained through the portal, the Status page in the MemSQL Ops UI will update according to the new license you set, but the License settings page will not be updated. For unit-based licenses, both the Status page and the License settings page will be incorrect and will not reflect the license you added.

To see your new license, make a database connection to the master aggregator and run the following:

SHOW VARIABLES LIKE '%license%';
****
+-----------------+------------------------------------------+
| Variable_name   | Value                                    |
+-----------------+------------------------------------------+
| license         |                                          |
| memsql_license  | <base64-encoded license>                 |
| v3_license_path | /var/lib/memsql/master-3306-MI7b2c661c/  |
+-----------------+------------------------------------------+
3 rows in set (0.00 sec)
Info

Unlike MemSQL Ops, MemSQL Studio integrates with both RAM-based and unit-based licenses for reporting on capacity versus licensed usage. You can install and use MemSQL Studio with existing clusters managed by MemSQL Ops, or use Studio in new deployments managed by the new MemSQL management tools.

If you have a previous license that was provided in a MemSQL tarball and need to set it in Ops, follow the steps below.

Using MemSQL Ops With Internet Access

In MemSQL Ops, navigate to Settings > Licenses. From that screen, you can add a new MemSQL license. MemSQL Ops will then update all nodes in your MemSQL cluster asynchronously to use the new license.

Or you can use the CLI LICENSE-ADD command to add a new license:

$ memsql-ops license-add --license-key <license key>

Using MemSQL Ops Without Internet Access

If you need to replace your MemSQL license and you do not have internet access, you will have to use the <license-file> argument instead of the above <license key> argument. For this to work, the license file will need to be on the host with the primary memsql-ops agent.

Use memsql-ops agent-list to check which node is the primary agent.

Then use the following command to add a new license:

memsql-ops license-add --license-file </path/to/file>

Without MemSQL Ops

This process is configuration error prone and we recommend that you use MemSQL Ops to update your license instead. Only use this option if MemSQL Ops is unavailable.

  1. On each node in your cluster, replace the existing license in /lib with your new license.
  2. On each node in your cluster, run:
$ sudo service memsql update-license <path to new license>
Info

MemSQL Ops does not allow the addition of 3.2 licenses into MemSQL 4+ nodes.

MemSQL licenses issued before the MemSQL 4 launch may still work with MemSQL 4. That said, we recommend that users update their license to a new MemSQL license when possible.

If you need a new license, contact sales@memsql.com.

Was this article useful?