noble (7) ocf_heartbeat_mysql.7.gz

Provided by: resource-agents-extra_4.13.0-1ubuntu4_amd64 bug

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. Note, when master/slave replication is in use,
       the resource must be setup to use notifications. Set 'notify=true' in the metadata attributes when
       defining a MySQL master/slave instance.

       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/mysqld_safe")

       client_binary
           Location of the MySQL 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 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/mysql/error.log")

       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
           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, PROCESS and RELOAD privileges on all
           nodes within the cluster. Mandatory if you define a master-slave resource.

           (optional, string, default "root")

       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")

       replication_require_ssl
           Enables SSL connection to local MySQL service for replication user. i.e. if REQUIRE SSL for
           replication user in MySQL set, this should be set to "true".

           (optional, string, default "false")

       replication_master_ssl_ca
           The SSL CA certificate to be used for replication over SSL.

           (optional, string, no default)

       replication_master_ssl_cert
           The SSL CA certificate to be used for replication over SSL.

           (optional, string, no default)

       replication_master_ssl_key
           The SSL certificate key to be used for replication over SSL.

           (optional, string, no default)

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

       monitor (Unpromoted role)
           Performs a detailed status check. Suggested minimum timeout: 30s. Suggested interval: 30s.

       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 mysql resource using the crm(8) shell:

           primitive p_mysql ocf:heartbeat:mysql \
             op monitor depth="0" timeout="30s" interval="20s" \
             op monitor role="Promoted" depth="0" timeout="30s" interval="10s" \
             op monitor role="Unpromoted" depth="0" timeout="30s" interval="30s"

           ms ms_mysql p_mysql \
             meta notify="true" interleave="true"

EXAMPLE PCS

       The following is an example configuration for a mysql resource using pcs(8)

           pcs resource create p_mysql ocf:heartbeat:mysql \
             op monitor OCF_CHECK_LEVEL="0" timeout="30s" interval="20s" \
             op monitor role="Promoted" OCF_CHECK_LEVEL="0" timeout="30s" interval="10s" \
             op monitor role="Unpromoted" OCF_CHECK_LEVEL="0" timeout="30s" interval="30s" promotable

SEE ALSO

       http://clusterlabs.org/

AUTHOR

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