Deploy an Enterprise Spider Node with MariaDB Enterprise Server 10.3 on RHEL 7

These instructions detail the deployment of MariaDB Enterprise Server 10.3 on Red Hat Enterprise Linux 7 in a Spider Node configuration.

These instructions detail how to detail a Spider node, which can use the Spider storage engine to perform advanced operations on a remote database.

MariaDB Platform Components

These instructions detail the deployment of the following MariaDB Platform components:



MariaDB Enterprise Server 10.3

  • It is a 100% Open Source modern SQL database.

MariaDB Enterprise Server Components

These instructions detail the deployment of the following MariaDB Enterprise Server components:





  • It supports sharding a table's data across multiples backend MariaDB servers

  • It supports federated access to a table stored on a separate MariaDB Server

  • It supports federated access to a table stored on a separate non-MariaDB Server using ODBC

  • It is transactional.

Term Definitions



row database

  • A database where all columns of each row are stored together.

  • Best suited for transactional and OLTP workloads.

  • Also known as a "row-oriented database".

Spider Table

A Spider Table is a "virtual" table that uses the Spider storage engine. The table does not contain any data.

Back-end Table

A Back-end Table is a "physical" table that stores some or all of the data for a Spider Table. The table must use a non-Spider storage engine, such as InnoDB or ColumnStore.

Spider Node

The Spider Node is the MariaDB Server instance that contains the Spider table. The node uses the SPIDER plugin to access the back-end tables on the Data Nodes.

Data Node

The Data Nodes are the MariaDB Server instances that contain the back-end tables.


MariaDB Corporation provides a YUM package repository for Red Hat Enterprise Linux 7.

Install via YUM (RHEL/CentOS)

  1. Retrieve your Customer Download Token at 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
    $ echo "bf67a231c477fba0060996a83b197c29617b6193e1167f6f062216ae13c716c7  mariadb_es_repo_setup" \
        | sha256sum -c -
    $ chmod +x mariadb_es_repo_setup
    $ sudo ./mariadb_es_repo_setup --token="customer_download_token" --apply \
  3. Install MariaDB Enterprise Server.

    To 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.


MariaDB Enterprise Server can be configured in the following ways:

  • System variables and options can be set in a configuration file (such as /etc/my.cnf). MariaDB Enterprise Server must be restarted to apply changes made to the configuration file.

  • System variables and options can be set on the command-line.

  • If a system variable supports dynamic changes, then it can be set on-the-fly using the SET statement.

Configuration Files

MariaDB's packages include several bundled configuration files. It is also possible to create custom configuration files.

On RHEL, CentOS, and SLES, MariaDB's packages bundle the following 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

  • /etc/my.cnf.d/xpand.cnf

And on RHEL, CentOS, and SLES, custom configuration files from the following directories are read by default:

  • /etc/my.cnf.d/

Configuring the Server

  1. Determine which system variables and options you need to configure.

    Useful system variables and options for MariaDB Enterprise Server include:

    System Variable/Option



    Sets the local TCP/IP address on which MariaDB Enterprise Server listens for incoming connections. When testing on a local system, bind the address to the local host at to prevent network access.


    Sets the maximum number of simultaneous connections MariaDB Enterprise Server allows.


    Sets how MariaDB Enterprise Server handles threads for client connections.


    Sets the file name for the error log.

  2. Choose a configuration file in which to configure your system variables and options.

    It not recommended to make custom changes to one of the bundled configuration files. Instead, it is recommended to create a custom configuration file in one of the included directories. Configuration files in included directories are read in alphabetical order. If you want your custom configuration file to override the bundled configuration files, then it is a good idea to prefix the custom configuration file's name with a string that will be sorted last, such as z-.

    • On RHEL, CentOS, and SLES, a good custom configuration file would be: /etc/my.cnf.d/z-custom-my.cnf

  3. Set your system variables and options in the configuration file:

    These need to be set in a group that will be read by mysqld, such as [mariadb] or [server].

    bind_address              =
    max_connection            = 1000
    log_error                 = mariadbd.err

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.

Red Hat Enterprise Linux 7 uses systemd. You can manage the Server process using the systemctl command:




sudo systemctl start mariadb


sudo systemctl stop mariadb


sudo systemctl restart mariadb

Enable during startup

sudo systemctl enable mariadb

Disable during startup

sudo systemctl disable mariadb


sudo systemctl status mariadb

Load the Spider Plugin

In order to use MariaDB Enterprise Server as a Spider Node, you need to configure the Server to use the plugin. This can be done using the install_spider.sql script.

  1. Install the Spider storage engine by executing the install_spider.sql script using MariaDB Client:

    To install the Spider storage engine on Linux:

    $ mysql --user db_user --password \
          < /usr/share/mysql/install_spider.sql

    The script runs a series of SQL statements, configuring the Server to operate as a Spider Node.

    After the script completes, the Spider storage engine is available.


Checking Spider Availability

  1. Connect to the Server using the 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 38
    Server version: 10.3.28-11-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. Execute SHOW PLUGINS to check Spider availability:

    | Name             | Status | Type               | Library      | License |
    | SPIDER           | ACTIVE | STORAGE ENGINE     | | GPL     |

    This shows the plugins in the library are active on the Server.

Next steps: