---
name: "ocf_heartbeat_mariadb"
section: "7"
platform: "linux"
package: "resource-agents"
version: "1:4.16.0-3+deb13u2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ocf_heartbeat_mariadb"
---

# ocf\_heartbeat\_mariadb(7)

Manages a MariaDB promotable instance

## NAME

ocf\_heartbeat\_mariadb - Manages a MariaDB promotable instance

## SYNOPSIS

**mariadb** \[start \| stop \| status \| monitor \| promote \| demote \| meta-data \| validate-all\]

## DESCRIPTION

Resource script for MariaDB.

Manages a complete promotable replication setup with GTID, for simpler uses look at the mysql resource agent which supports older replication forms which mysql and mariadb have in common.

The resource must be setup to use notifications. Set 'notify=true' in the metadata attributes when defining a MariaDB promotable instance.

The default behavior is to use uname -n values in the change promoted to command. Other IPs can be specified manually by adding a node attribute ${INSTANCE\_ATTR\_NAME}\_mysql\_master\_IP giving the IP to use for replication. For example, if the mariadb primitive you are using is p\_mariadb, the attribute to set will be p\_mariadb\_mysql\_master\_IP.

## SUPPORTED PARAMETERS

**binary**

Location of the MariaDB server binary

(optional, string, default "/usr/bin/mysqld\_safe")

**client\_binary**

Location of the MariaDB client binary

(optional, string, default "mysql")

**config**

Configuration file

(optional, string, default "/etc/mysql/my.cnf")

**datadir**

Directory containing databases

(optional, string, default "/var/lib/mysql")

**user**

User running MariaDB daemon

(optional, string, default "mysql")

**group**

Group running MariaDB daemon (for logfile and directory permissions)

(optional, string, default "mysql")

**log**

The logfile to be used for mysqld.

(optional, string, default "/var/log/mysql/error.log")

**node\_list**

All node names of nodes that will execute mariadb. Please separate each node name with a space. This is required for the promoted selection to function.

(required, string, no default)

**pid**

The pidfile to be used for mysqld.

(optional, string, default "/var/run/mysqld/mysqld.pid")

**socket**

The socket to be used for mysqld.

(optional, string, default "/var/run/mysqld/mysqld.sock")

**test\_table**

Table to be tested in monitor statement (in database.table notation)

(optional, string, default "mysql.user")

**test\_user**

MariaDB test user, must have select privilege on test\_table

(optional, string, default "root")

**test\_passwd**

MariaDB test user password

(optional, string, no default)

**enable\_creation**

If the MariaDB database does not exist, it will be created

(optional, boolean, default 0)

**additional\_parameters**

Additional parameters which are passed to the mysqld on startup. (e.g. --skip-external-locking or --skip-grant-tables)

(optional, string, no default)

**replication\_user**

MariaDB replication user. This user is used for starting and stopping MariaDB replication, for setting and resetting the promoted host, and for setting and unsetting read-only mode. Because of that, this user must have SUPER, REPLICATION SLAVE, REPLICATION CLIENT, PROCESS and RELOAD privileges on all nodes within the cluster. Mandatory if you define a promotable resource.

(optional, string, default "root")

**replication\_passwd**

MariaDB replication password. Used for replication client and unpromoted. Mandatory if you define a promotable resource.

(optional, string, no default)

**replication\_port**

The port on which the Promoted MariaDB instance is listening.

(optional, string, default "3306")

## SUPPORTED ACTIONS

This resource agent supports the following actions (operations):

**start**

Starts the resource. Suggested minimum timeout: 120s.

**stop**

Stops the resource. Suggested minimum timeout: 120s.

**status**

Performs a status check. Suggested minimum timeout: 60s.

**monitor**

Performs a detailed status check. Suggested minimum timeout: 30s. Suggested interval: 20s.

**monitor (Promoted role)**

Performs a detailed status check. Suggested minimum timeout: 30s. Suggested interval: 10s.

**promote**

Promotes the resource to the Master role. Suggested minimum timeout: 120s.

**demote**

Demotes the resource to the Slave role. Suggested minimum timeout: 120s.

**notify**

Suggested minimum timeout: 90s.

**validate-all**

Performs a validation of the resource configuration. Suggested minimum timeout: 5s.

**meta-data**

Retrieves resource agent metadata (internal use only). Suggested minimum timeout: 5s.

## EXAMPLE CRM SHELL

The following is an example configuration for a mariadb resource using the [**crm**(8)](/crm/8.md) shell:

```
primitive p_mariadb ocf:heartbeat:mariadb \
  params \
    node_list=string \
  op monitor depth="0" timeout="30s" interval="20s" \
  op monitor role="Promoted" depth="0" timeout="30s" interval="10s"
```

```
ms ms_mariadb p_mariadb \
  meta notify="true" interleave="true"
```

## EXAMPLE PCS

The following is an example configuration for a mariadb resource using [**pcs**(8)](/pcs/8.md)

```
pcs resource create p_mariadb ocf:heartbeat:mariadb \
  node_list=string \
  op monitor OCF_CHECK_LEVEL="0" timeout="30s" interval="20s" \
  op monitor role="Promoted" OCF_CHECK_LEVEL="0" timeout="30s" interval="10s" promotable
```

## SEE ALSO

**http://clusterlabs.org/**

## AUTHOR

**ClusterLabs contributors (see the resource agent source for information about individual authors)**
