MaxScale/server/MaxScale_template.cnf
Markus Makela 2d08bc4eda Fix to bug 736: http://bugs.mariadb.com/show_bug.cgi?id=736
Added a cofigurable limit on the number of session commands the readwritesplit router stores.
2015-03-01 02:27:47 +02:00

332 lines
7.9 KiB
INI

## Example MaxScale.cnf configuration file
#
# Global parameters
#
# Number of worker threads in MaxScale
#
# threads=<number of threads>
#
# Enabled logfiles. The message log is enabled by default and
# the error log is always enabled.
#
# log_messages=<1|0>
# log_trace=<1|0>
# log_debug=<1|0>
## Example:
[maxscale]
threads=4
## Define a monitor that can be used to determine the state and role of
# the servers.
#
# Currently valid options for all monitors are:
#
# module=[mysqlmon|galeramon]
#
# List of server names which are being monitored
#
# servers=<server name 1>,<server name 2>,...,<server name N>
#
# Username for monitor queries, need slave replication and slave client privileges
# Password in plain text format, and monitor's sampling interval in milliseconds.
#
# user=<username>
# passwd=<plain txt password>
# monitor_interval=<sampling interval in milliseconds> (default 10000)
#
# Timeouts for monitor operations in backend servers - optional.
#
# backend_connect_timeout=<timeout in seconds>
# backend_write_timeout=<timeout in seconds>
# backend_read_timeout=<timeout in seconds>
#
## MySQL monitor-specific options:
#
# Enable detection of replication slaves lag via replication_heartbeat
# table - optional.
#
# detect_replication_lag=[1|0] (default 0)
#
# Allow previous master to be available even in case of stopped or misconfigured
# replication - optional.
#
# detect_stale_master=[1|0] (default 0)
#
## Galera monitor-specific options:
#
# If disable_master_failback is not set, recovery of previously failed master
# causes mastership to be switched back to it. Enabling the option prevents it.
#
# disable_master_failback=[0|1] (default 0)
#
## Examples:
[MySQL Monitor]
type=monitor
module=mysqlmon
servers=server1,server2,server3
user=myuser
passwd=mypwd
monitor_interval=10000
#backend_connect_timeout=
#backend_read_timeout=
#backend_write_timeout=
#detect_replication_lag=
#detect_stale_master=
[Galera Monitor]
type=monitor
module=galeramon
servers=server1,server2,server3
user=myuser
passwd=mypwd
monitor_interval=10000
#disable_master_failback=
## Filter definition
#
# Type specifies the section
#
# type=filter
#
# Module specifies which module implements the filter function
#
# module=[qlafilter|regexfilter|topfilter|teefilter]
#
# Options specify the log file for Query Log Filter
#
# options=<path to logfile>
#
# Match and replace are used in regexfilter
#
# match=fetch
# replace=select
#
# Count and filebase are used with topfilter to specify how many top queries are
# listed and where.
#
# count=<count>
# filebase=<path to output file>
#
# Match and service are used by tee filter to specify what queries should be
# duplicated and where the copy should be routed.
#
# match=insert.*HighScore.*values
# service=Cassandra
#
## Examples:
[qla]
type=filter
module=qlafilter
options=/tmp/QueryLog
[fetch]
type=filter
module=regexfilter
match=fetch
replace=select
## A series of service definition
#
# Name of router module, currently valid options are
#
# router=[readconnroute|readwritesplit|debugcli|CLI]
#
# List of server names for use of service - mandatory for readconnroute,
# readwritesplit, and debugcli
#
# servers=<server name 1>,<server name 2>,...,<server name N>
#
# Username to fetch password information with and password in plaintext
# format - for readconnroute and readwritesplit
#
# user=<username>
# passwd=<password in plain text format>
#
# flag for enabling the use of root user - for readconnroute and
# readwritesplite - optional.
#
# enable_root_user=[0|1] (default 0)
#
# Version string to be used in server handshake. Default value is that of
# MariaDB embedded library's - for readconnroute and readwritesplite - optional.
#
# version_string=<specific version string>
#
# Filters specify the filters through which the query is transferred and the
# order of their appearance on the list corresponds the order they are
# used. Values refer to names of filters configured in this file - for
# readconnroute and readwritesplit - optional.
#
# filters=<filter name1|filter name2|...|filter nameN>
#
## Read Connection Router specific router options.
#
# router_options specify the role in which the selected server must be.
#
# router_options=[master|slave|synced]
#
## Read/Write Split Router specific options.
#
# use_sql_variables_in specifies where sql variable modifications are
# routed - optional.
#
# use_sql_variables_in=[master|all] (default all)
#
# router_options=slave_selection_criteria specifies the selection criteria for
# slaves both in new session creation and when route target is selected - optional.
#
# router_options=
# slave_selection_criteria=[LEAST_CURRENT_OPERATIONS|LEAST_BEHIND_MASTER]
#
# router_options=max_sescmd_history specifies a limit on the number of 'session commands'
# a single session can execute. Please refer to the configuration guide for more details - optional.
#
# router_options=
# max_sescmd_history=2500
#
# max_slave_connections specifies how many slaves a router session can
# connect to - optional.
#
# max_slave_connections=<number, or percentage, of all slaves>
#
# max_slave_replication_lag specifies how much a slave is allowed to be behind
# the master and still become chosen routing target - optional, requires that
# monitor has detect_replication_lag=1 .
#
# max_slave_replication_lag=<allowed lag in seconds for a slave>
#
# Valid router modules currently are:
# readwritesplit, readconnroute, debugcli and CLI
#
## Examples:
[Read Connection Router]
type=service
router=readconnroute
servers=server1,server2,server3
user=myuser
passwd=mypwd
router_options=slave
[RW Split Router]
type=service
router=readwritesplit
servers=server1,server2,server3
user=myuser
passwd=mypwd
#use_sql_variables_in=
#max_slave_connections=100%
#max_slave_replication_lag=21
#router_options=slave_selection_criteria=
#filters=fetch|qla
[Debug Interface]
type=service
router=debugcli
[CLI]
type=service
router=cli
## Listener definitions for the services
#
# Type specifies section as listener one
#
# type=listener
#
# Service links the section to one of the service names used in this configuration
#
# service=<name of service section>
#
# Protocol is client protocol library name.
#
# protocol=[MySQLClient|telnetd|HTTPD|maxscaled]
#
# Port and address specify which port the service listens and the address limits
# listening to a specific network interface only. Address is optional.
#
# port=<Listening port>
# address=<Address to bind to>
#
# Socket is alternative for address. The specified socket path must be writable
# by the Unix user MaxScale runs as.
#
# socket=<Listening socket>
#
## Examples:
[Read Connection Listener]
type=listener
service=Read Connection Router
protocol=MySQLClient
address=192.168.100.102
port=4008
#socket=/tmp/readconn.sock
[RW Split Listener]
type=listener
service=RW Split Router
protocol=MySQLClient
port=4006
#socket=/tmp/rwsplit.sock
[Debug Listener]
type=listener
service=Debug Interface
protocol=telnetd
#address=127.0.0.1
port=4442
[CLI Listener]
type=listener
service=CLI
protocol=maxscaled
#address=localhost
port=6603
## Definition of the servers
#
# Type specifies the section as server one
#
# type=server
#
# The IP address or hostname of the machine running the database server that is
# being defined. MaxScale will use this address to connect to the backend
# database server.
#
# address=<IP|hostname>
#
# The port on which the database listens for incoming connections. MaxScale
# will use this port to connect to the database server.
#
# port=<port>
#
# The name for the protocol module to use to connect MaxScale to the database.
# Currently the only backend protocol supported is the MySQLBackend module.
#
# protocol=MySQLBackend
#
## Examples:
[server1]
type=server
address=192.168.100.101
port=3000
protocol=MySQLBackend
[server2]
type=server
address=192.168.100.102
port=3000
protocol=MySQLBackend
[server3]
type=server
address=192.168.100.103
port=3000
protocol=MySQLBackend