OCF_HEARTBEAT_MYSQL(7) OCF resource agents OCF_HEARTBEAT_MYSQL(7)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.
While managing replication, the default behavior is to use uname -n
values in the change master 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 mysql primitive you are using is
p_mysql, the attribute to set will be p_mysql_mysql_master_IP.
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, must have select privilege on test_table
(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, 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
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. Mandatory if
you define a master-slave resource.
(optional, string, no default)
replication_passwd
MySQL replication password. Used for replication client and slave.
Mandatory if you define a master-slave resource.
(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)
reader_attribute
An attribute that the RA can manage to specify whether a node can
be read from. This node attribute will be 1 if it's fine to read
from the node, and 0 otherwise (for example, when a slave has
lagged too far behind the master).
A typical example for the use of this attribute would be to tie a
set of IP addresses to MySQL slaves that can be read from.
This parameter is only meaningful in master/slave set
configurations.
(unique, optional, string, default "readable")
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 p_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"
ms ms_mysql p_mysql \
meta notify="true" interleave="true"
SEE ALSO
http://www.linux-ha.org/wiki/mysql_(resource_agent)AUTHOR
Linux-HA contributors (see the resource agent source for information
about individual authors)
resource-agents UNKNOWN 11/07/2013 OCF_HEARTBEAT_MYSQL(7)