Manages a mysql proxy instance
mysql-proxy [start | stop | monitor | meta-data | validate-all]
This script manages MySQL Proxy as an OCF resource in a high-availability setup.
The default monitor operation will verify that mysql-proxy is running.
The level 10 monitor operation is left out intentionally for possible future enhancements in conjunction with the admin plugin.
The level 20 monitor operation will perform a SELECT on a given table to verify that the connection to a backend-server is actually working.
Originally tested with MySQL Proxy 0.7.0 on Debian 5.0, but subsequent updates have been tested with MySQL Proxy 0.8.1 and 0.8.3 on Debian 6.0 only.
binary
Full path to the MySQL Proxy binary. For example, "/usr/sbin/mysql-proxy".
(optional, string, default "/usr/sbin/mysql-proxy")
client_binary
Location of the MySQL client binary
(optional, string, default "mysql")
defaults_file
Full path to a MySQL Proxy configuration file. For example, "/etc/mysql-proxy.conf".
(optional, string, no default)
proxy_backend_addresses
Address:port of the remote backend-servers (default: 127.0.0.1:3306).
(optional, string, default "127.0.0.1:3306")
proxy_read_only_backend_addresses
Address:port of the remote (read only) slave-server (default: ).
(optional, string, default "127.0.0.1:3306")
proxy_address
Listening address:port of the proxy-server (default: :4040). You can also specify a socket like "/tmp/mysql-proxy.sock".
(optional, string, default ":4040")
log_level
Log all messages of level (error|warning|info|message|debug|) or higher. An empty value disables logging.
(optional, string, no default)
keepalive
Try to restart the proxy if it crashed (default: ). Valid values: true or false. An empty value equals "false".
(optional, string, no default)
plugins
Whitespace separated list of plugins to load (default: ). Note: The admin plugin will be auto-loaded in case you specify an admin_* parameter.
(optional, string, no default)
admin_address
Listening address:port of the admin plugin (default: 127.0.0.1:4041). Note: The admin plugin will be auto-loaded in case you specify an admin_* parameter.
(optional, string, default "127.0.0.1:4041")
admin_username
Username for the admin plugin (default: ). Required since MySQL Proxy 0.8.1, if the admin plugin is loaded. Note: The admin plugin will be auto-loaded in case you specify an admin_* parameter.
(optional, string, no default)
admin_password
Password for the admin plugin (default: ). Required since MySQL Proxy 0.8.1, if the admin plugin is loaded. Note: The admin plugin will be auto-loaded in case you specify an admin_* parameter.
(optional, string, no default)
admin_lua_script
Script to execute by the admin plugin. Required since MySQL Proxy 0.8.1, if the admin plugin is loaded. Note: The admin plugin will be auto-loaded in case you specify an admin_* parameter.
(optional, string, no default)
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, no default)
test_passwd
MySQL test user password
(optional, string, no default)
parameters
The MySQL Proxy daemon may be called with additional parameters. Specify any of them here.
(optional, string, no default)
pidfile
PID file
(unique, optional, string, default "/var/run/resource-agents/mysql-proxy-default.pid")
This resource agent supports the following actions (operations):
start
Starts the resource. Suggested minimum timeout: 30s.
stop
Stops the resource. Suggested minimum timeout: 30s.
reload
Suggested minimum timeout: 30s.
monitor
Performs a detailed status check. Suggested minimum timeout: 20s. Suggested interval: 60s.
validate-all
Performs a validation of the resource configuration. Suggested minimum timeout: 30s.
meta-data
Retrieves resource agent metadata (internal use only). Suggested minimum timeout: 5s.
The following is an example configuration for a mysql-proxy resource using the crm(8) shell:
primitive p_mysql-proxy ocf:heartbeat:mysql-proxy \ op monitor depth="0" timeout="20s" interval="60s"
\m[blue]http://www.linux-ha.org/wiki/mysql-proxy_(resource_agent)\m[]
Linux-HA contributors (see the resource agent source for information about individual authors)