All pages
Powered by GitBook
1 of 1

Loading...

Upgrade Multi-Node MariaDB ColumnStore from 6 to 23.10

Upgrade a multi-node MariaDB ColumnStore cluster from 6 to 23.10, with MaxScale-based replica maintenance mode, controlled service stops, and per-node upgrade steps.

These instructions detail the upgrade from MariaDB ColumnStore 6 to MariaDB ColumnStore 23.10 in a Multi-Node topology on a range of supported Operating Systems.

Set Replicas to Maintenance Mode

This action is performed for each replica server on the MaxScale node.

Prior to upgrading, the replica servers must be set to maintenance mode in MaxScale. The replicas can be set to maintenance mode in MaxScale using . If you are using , the replicas can be set to maintenance mode using the set server command:

maxctrl set server \
   mcs2 \
   maintenance
  • As the first argument, provide the name for the server

  • As the second argument, provide maintenance as the state

Confirm Maintenance Mode is Set for Replicas

This action is performed on the MaxScale node.

Confirm that the replicas are set to maintenance mode in MaxScale using MaxScale's REST API. If you are using MaxCtrl, the state of the replicas can be viewed using the list servers command:

maxctrl list servers
┌────────┬───────────────┬──────┬─────────────┬──────────────────────┬────────┐
│ Server │ Address       │ Port │ Connections │ State                │ GTID   │
├────────┼───────────────┼──────┼─────────────┼──────────────────────┼────────┤
│ mcs3   │ 192.0.2.3     │ 3306 │ 0           │ Maintenance, Running │ 0-1-17 │
├────────┼───────────────┼──────┼─────────────┼──────────────────────┼────────┤
│ mcs2   │ 192.0.2.2     │ 3306 │ 0           │ Maintenance, Running │ 0-1-17 │
├────────┼───────────────┼──────┼─────────────┼──────────────────────┼────────┤
│ mcs1   │ 192.0.2.1     │ 3306 │ 0           │ Master, Running      │ 0-1-17 │
└────────┴───────────────┴──────┴─────────────┴──────────────────────┴────────┘

If the node is properly in maintenance mode, then the State column will show Maintenance as one of the states.

Disable GTID Strict Mode

This action is performed on each replica server.

The system variable must be disabled for this upgrade procedure. If the gtid_strict_mode system variable is enabled in any configuration files, disable it temporarily until the upgrade procedure is complete.

You can check if the gtid_strict_mode system variable is set in a configuration file by executing my_print_defaults command with the mysqld option:

my_print_defaults --mysqld \
   | grep "gtid[-_]strict[-_]mode"
--gtid_strict_mode=1

If the gtid_strict_mode system variable is set, you can temporarily disable it by adding # in front of it in the configuration file, so that it will be treated as a comment and ignored:

[mariadb]
...
# temporarily commented out for upgrade
# gtid_strict_mode=1

Shutdown ColumnStore

Prior to upgrading, MariaDB Enterprise ColumnStore must be shutdown.

mcs cluster stop

Stop Services

This action is performed on each ColumnStore node.

Prior to upgrading, several services must be stopped on each ColumnStore node:

  1. Stop the CMAPI service:

    sudo systemctl stop mariadb-columnstore-cmapi
  2. Stop the MariaDB Enterprise ColumnStore service:

    sudo systemctl stop mariadb-columnstore
  3. Stop the MariaDB Enterprise Server service:

    sudo systemctl stop mariadb

Upgrade to the New Version

MariaDB Corporation provides package repositories for YUM (RHEL, CentOS, Rocky Linux) and APT (Debian, Ubuntu).

Upgrade via YUM (RHEL, CentOS, Rocky Linux)

  1. Retrieve your Customer Download Token at https://customers.mariadb.com/downloads/token/ and substitute for CUSTOMER_DOWNLOAD_TOKEN in the following directions.

  2. Configure the YUM package repository.

    Enterprise ColumnStore 23.10 is included with MariaDB Enterprise Server 11.4. Pass the version to install using the --mariadb-server-version flag to .

    To configure YUM package repositories:

    sudo yum install curl
    curl -LsSO https://dlm.mariadb.com/enterprise-release-helpers/mariadb_es_repo_setup
    echo "${checksum} mariadb_es_repo_setup" | sha256sum -c -
    chmod +x mariadb_es_repo_setup
    sudo ./mariadb_es_repo_setup --token="CUSTOMER_DOWNLOAD_TOKEN" --apply \
       --mariadb-server-version="11.4"
    1. Checksums of the various releases of the mariadb_es_repo_setup script can be found in the section at the bottom of the page. Substitute ${checksum} in the example above with the latest checksum.

  3. Update MariaDB Enterprise Server and package dependencies:

    sudo yum update "MariaDB-*" "MariaDB-columnstore-engine" "MariaDB-columnstore-cmapi"

Upgrade via APT (Debian, Ubuntu)

  1. Retrieve your Customer Download Token at https://customers.mariadb.com/downloads/token/ and substitute for CUSTOMER_DOWNLOAD_TOKEN in the following directions.

  2. Configure the APT package repository.

    Enterprise ColumnStore 23.10 is included with MariaDB Enterprise Server 11.4. Pass the version to install using the --mariadb-server-version flag to mariadb_es_repo_setup.

    To configure APT package repositories:

    sudo apt install curl
    curl -LsSO https://dlm.mariadb.com/enterprise-release-helpers/mariadb_es_repo_setup
    echo "${checksum}  mariadb_es_repo_setup" sha256sum -c -
    chmod +x mariadb_es_repo_setup
    sudo ./mariadb_es_repo_setup --token="CUSTOMER_DOWNLOAD_TOKEN" --apply \
       --mariadb-server-version="11.4"
    sudo apt update
    1. Checksums of the various releases of the mariadb_es_repo_setup script can be found in the section at the bottom of the page. Substitute ${checksum} in the example above with the latest checksum.

  3. Update MariaDB Enterprise Server and package dependencies.

    The update command depends on the installed APT version, which can be determined by executing the following command:

    apt --version
    apt 2.0.9 (amd64)

    For versions prior to APT 2.0, execute the following command:

    sudo apt install --only-upgrade "mariadb*"

    For APT 2.0 and later, execute the following command:

    sudo apt install --only-upgrade '?upgradable ?name(mariadb.*)'

Disable ColumnStore Service

This action is performed on each ColumnStore node.

After upgrading, the MariaDB Enterprise ColumnStore service should be stopped, since it will be controlled by CMAPI:

sudo systemctl stop mariadb-columnstore
sudo systemctl disable mariadb-columnstore

CMAPI disables the Enterprise ColumnStore service in a multi-node deployment. The Enterprise ColumnStore service will be started as-needed by the CMAPI service, so it does not need to start automatically upon reboot.

Start Services

This action is performed on each ColumnStore node.

After upgrading, the CMAPI service and the MariaDB Enterprise Server service must be started on each ColumnStore node:

  1. Start the CMAPI service:

    sudo systemctl start mariadb-columnstore-cmapi
  2. Start the MariaDB Enterprise Server service:

    sudo systemctl start mariadb

Write Binary Log

On the primary server, run mariadb-upgrade to upgrade the data directory with binary logging enabled to update the system tables:

mariadb-upgrade --write-binlog

Start ColumnStore

After upgrading, MariaDB Enterprise ColumnStore must be started.

mcs cluster start

Enable GTID Strict Mode

This action is performed on each replica server.

If you temporarily disabled the system variable in the Disable GTID Strict Mode step, it can be re-enabled. If the gtid_strict_mode system variable was temporarily disabled in any configuration files, re-enable it.

Confirm ColumnStore Version

This action is performed on each ColumnStore node.

After upgrading, it is recommended to confirm the Enterprise ColumnStore version on each ColumnStore node. Connect to the node using and query the ColumnStore_version status variable with :

SHOW GLOBAL STATUS LIKE 'Columnstore_version';
+---------------------+---------+
| Variable_name       | Value   |
+---------------------+---------+
| Columnstore_version | 23.10.0 |
+---------------------+---------+

Confirm ES Version

This action is performed on each ColumnStore node.

After upgrading, it is recommended to confirm the ES version on each ColumnStore node. Connect to the node using and query the system variable with :

SHOW GLOBAL VARIABLES LIKE 'version';
+---------------+----------------------------------+
| Variable_name | Value                            |
+---------------+----------------------------------+
| version       | 10.6.9-5-MariaDB-enterprise-log  |
+---------------+----------------------------------+

Clear Maintenance Mode for Replicas

This action is performed for each replica server on the MaxScale node.

After the upgrade, maintenance mode for each replica has been cleared in MaxScale using . If you are using , maintenance mode can be cleared using the clear server command:

maxctrl clear server \
   mcs2 \
   maintenance
  • As the first argument, provide the name for the server

  • As the second argument, provide maintenance as the state

Confirm Maintenance Mode is Cleared for Replicas

This action is performed for each replica server on the MaxScale node.

Confirm that maintenance mode in MaxScale has been cleared for each replica using . If you are using , the state of the replicas can be viewed using the list servers command:

maxctrl list servers
┌────────┬───────────────┬──────┬─────────────┬─────────────────┬─────────┐
│ Server │ Address       │ Port │ Connections │ State           │ GTID    │
├────────┼───────────────┼──────┼─────────────┼─────────────────┼─────────┤
│ mcs3   │ 192.0.2.3     │ 3306 │ 0           │ Slave, Running  │ 0-3-159 │
├────────┼───────────────┼──────┼─────────────┼─────────────────┼─────────┤
│ mcs2   │ 192.0.2.2     │ 3306 │ 0           │ Slave, Running  │ 0-1-88  │
├────────┼───────────────┼──────┼─────────────┼─────────────────┼─────────┤
│ mcs1   │ 192.0.2.1     │ 3306 │ 0           │ Master, Running │ 0-1-88  │
└────────┴───────────────┴──────┴─────────────┴─────────────────┴─────────┘

If the node is no longer in maintenance mode, then the State column will no longer show Maintenance as one of the states.

This page is: Copyright © 2025 MariaDB. All rights reserved.

spinner
MaxScale's REST API
MaxCtrl
MaxScale's REST API
MaxCtrl
MaxScale's REST API
MaxCtrl
gtid_strict_mode
mariadb_es_repo_setup
gtid_strict_mode
MariaDB Client
SHOW GLOBAL STATUS
MariaDB Client
version
SHOW GLOBAL VARIABLES
Versions
MariaDB Package Repository Setup and Usage
Versions
MariaDB Package Repository Setup and Usage