Name

ocf_heartbeat_mysql — Manages a MySQL database instance

Synopsis

mysql [ start | stop | status | monitor | promote | demote | meta-data | validate-all ]

Description

Resource script for MySQL. May manage a standalone MySQL database, a clone set with externally managed replication, or a complete master/slave replication setup.

Supported Parameters

binary

Location of the MySQL server binary (optional, string, default /usr/bin/safe_mysqld)

client_binary

Location of the MySQL client binary (optional, string, default mysql)

config

Configuration file (optional, string, default /etc/my.cnf)

datadir

Directory containing databases (optional, string, default /var/lib/mysql)

user

User running MySQL daemon (optional, string, default mysql)

group

Group running MySQL daemon (for logfile and directory permissions) (optional, string, default mysql)

log

The logfile to be used for mysqld. (optional, string, default /var/log/mysqld.log)

pid

The pidfile to be used for mysqld. (optional, string, default /var/run/mysql/mysqld.pid)

socket

The socket to be used for mysqld. (optional, string, default /var/lib/mysql/mysql.sock)

test_table

Table to be tested in monitor statement (in database.table notation) (optional, string, default mysql.user)

test_user

MySQL test user (optional, string, default root)

test_passwd

MySQL test user password (optional, string, no default)

enable_creation

If the MySQL database does not exist, it will be created (optional, integer, default 0)

additional_parameters

Additional parameters which are passed to the mysqld on startup. (e.g. --skip-external-locking or --skip-grant-tables) On M/S setup --skip-slave-start is needed (or in config file). (optional, string, no default)

replication_user

MySQL replication user. This user is used for starting and stopping MySQL replication, for setting and resetting the master host, and for setting and unsetting read-only mode. Because of that, this user must have SUPER, REPLICATION SLAVE, REPLICATION CLIENT, and PROCESS privileges on all nodes within the cluster. (optional, string, no default)

replication_passwd

MySQL replication password. Used for replication client and slave. (optional, string, no default)

replication_port

The port on which the Master MySQL instance is listening. (optional, string, default 3306)

max_slave_lag

The maximum number of seconds a replication slave is allowed to lag behind its master. Do not set this to zero. What the cluster manager does in case a slave exceeds this maximum lag is determined by the evict_outdated_slaves parameter. (optional, integer, default 3600)

evict_outdated_slaves

If set to true, any slave which is more than max_slave_lag seconds behind the master has its MySQL instance shut down. If this parameter is set to false in a primitive or clone resource, it is simply ignored. If set to false in a master/slave resource, then exceeding the maximum slave lag will merely push down the master preference so the lagging slave is never promoted to the new master. (optional, boolean, default false)

Supported Actions

This resource agent supports the following actions (operations):

start

Starts the resource. Suggested minimum timeout: 120.

stop

Stops the resource. Suggested minimum timeout: 120.

status

Performs a status check. Suggested minimum timeout: 60.

monitor

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

monitor (Master role)

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

monitor (Slave role)

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

promote

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

demote

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

notify

Suggested minimum timeout: 90.

validate-all

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

meta-data

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

Example

The following is an example configuration for a mysql resource using the crm(8) shell:

primitive example_mysql ocf:heartbeat:mysql \

  op monitor depth="0" timeout="30" interval="20" 
  op monitor role="Master" depth="0" timeout="30" interval="10" 
  op monitor role="Slave" depth="0" timeout="30" interval="30" 

See also

http://www.linux-ha.org/wiki/mysql_(resource_agent)