Upgrade to MariaDB Enterprise Server 10.3 on CentOS 6

These instructions detail the upgrade from a previous version of MariaDB Enterprise Server to MariaDB Enterprise Server 10.3 on CentOS Linux 6.

When MariaDB Enterprise Server is upgraded, the old version needs to be uninstalled, and the new version needs to be installed.

Data Backup

Occasionally, issues can be encountered during upgrades. These issues can even potentially corrupt the database's data files, preventing you from easily reverting to the old installation. Therefore, it is generally best to perform a backup prior to upgrading. If an issue is encountered during the upgrade, you can use the backup to restore your MariaDB Server database to the old version. If the upgrade finishes without issue, then the backup can be deleted.

The instructions below show how to perform a backup using MariaDB Backup. For more information about backing up and restoring the database, please see the Recovery Guide.

  1. Take a full backup:

    $ sudo mariabackup --backup \
          --user=mariabackup_user \
          --password=mariabackup_passwd \
          --target-dir=/data/backup/preupgrade_backup
    

    Confirm successful completion of the backup operation.

  2. The backup must be prepared:

    $ sudo mariabackup --prepare \
          --target-dir=/data/backup/preupgrade_backup
    

    Confirm successful completion of the prepare operation.

  3. Backups should be tested before they are trusted.

Uninstall the Old Version

When upgrading to a new major release of MariaDB Enterprise Server, it is necessary to remove the existing installation of MariaDB Enterprise Server, before installing the new version of MariaDB Enterprise Server. Otherwise, the package manager will refuse to install the new version of MariaDB Enterprise Server.

Stop the MariaDB Server Process

Before the old version can be uninstalled, we first need to stop the current MariaDB Server process.

  1. Stop the server process using the service command:

    $ sudo service mysql stop
    

Uninstall via YUM (RHEL/CentOS)

  1. Uninstall all of the MariaDB Enterprise Server packages. Note that a wildcard character is used to ensure that all MariaDB Enterprise Server packages are uninstalled:

    $ sudo yum remove "MariaDB-*"
    

    Be sure to check that this wildcard does not unintentionally refer to any of your custom applications:

  2. Uninstall the Galera package as well.

    The name of the package depends on the specific version of MariaDB Enterprise Server.

    When upgrading from MariaDB Enterprise Server 10.4 or later, the package is called galera-enterprise-4:

    $ sudo yum remove galera-enterprise-4
    

    When upgrading from MariaDB Enterprise Server 10.3 or earlier, the package is called galera:

    $ sudo yum remove galera
    
  3. Before proceeding, verify that all MariaDB Enterprise Server packages are uninstalled. The following command should not return any results:

    $ rpm --query --all | grep -i -E "mariadb|galera"
    

Install the New Version

MariaDB Corporation provides a YUM package repository for CentOS Linux 6.

Install via YUM (RHEL/CentOS)

  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.

    To configure YUM package repositories:

    $ sudo yum install wget
    
    $ wget https://dlm.mariadb.com/enterprise-release-helpers/mariadb_es_repo_setup
    
    $ echo "93fa0df3d6491a791f5d699158dcfe3e6ce20c45ddc2f534ed2f5eac6468ff0a  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="10.3"
    
  3. Install MariaDB Enterprise Server and package dependencies:

    $ sudo yum install MariaDB-server MariaDB-backup
    
  4. Configure MariaDB.

    Installation only loads MariaDB Enterprise Server to the system. MariaDB Enterprise Server requires configuration before the database server is ready for use.

Configuration

For platforms that use YUM or ZYpp as a package manager:

MariaDB Enterprise Server's packages bundle several configuration files:

  • /etc/my.cnf

  • /etc/my.cnf.d/client.cnf

  • /etc/my.cnf.d/mariadb-enterprise.cnf

  • /etc/my.cnf.d/mysql-clients.cnf

  • /etc/my.cnf.d/server.cnf

If your version of any of these configuration files contained any custom edits, then the package manager may save your edited version with the .rpmsave extension during the upgrade process. If you want to continue using your version with the custom edits, then you may need to move it back. For example, to move server.cnf back in place:

$ sudo mv /etc/my.cnf.d/server.cnf /etc/my.cnf.d/server.cnf.original
$ sudo mv /etc/my.cnf.d/server.cnf.rpmsave /etc/my.cnf.d/server.cnf

Starting the Server

MariaDB Enterprise Server includes configuration to start, stop, restart, enable/disable on boot, and check the status of the Server using the operating system default process management system.

CentOS Linux 6 uses Upstart. You can manage the Server process using the service and chkconfig utilities:

Operation

Command

Start

sudo service mysql start

Stop

sudo service mysql stop

Restart

sudo service mysql restart

Enable during startup

sudo chkconfig --add mysql

Disable during startup

sudo chkconfig --del mysql

Status

sudo service mysql status

Upgrading the Data Directory

MariaDB Enterprise Server 10.5 ships with the mysql_upgrade utility which can be used to identify and correct compatibility issues in the new version. After you upgrade your Server and start the server process, run this utility to upgrade the data directory:

$ sudo mysql_upgrade

Testing

When MariaDB Enterprise Server is up and running on your system, you should test that it is working and there weren't any issues during startup.

  1. Connect to the server using MariaDB Client using the root@localhost user account:

    $ sudo mysql
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 9
    Server version: 10.3.24-8-MariaDB-Enterprise MariaDB Enterprise Server
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]>
    
  2. You can also verify the server version by checking the value of the version system variable with the SHOW GLOBAL STATUS statement:

    MariaDB [(none)]> SHOW GLOBAL VARIABLES LIKE 'version';
    +---------------+------------------------------+
    | Variable_name | Value                        |
    +---------------+------------------------------+
    | version       | 10.3.24-8-MariaDB-Enterprise |
    +---------------+------------------------------+
    1 row in set (0.001 sec)
    
  3. You can also verify the server version by calling the VERSION() function:

    MariaDB [(none)]> SELECT VERSION();
    +------------------------------+
    | VERSION()                    |
    +------------------------------+
    | 10.3.24-8-MariaDB-Enterprise |
    +------------------------------+
    1 row in set (0.000 sec)