|
- # All files in this package is subject to the GPL v2 license
- # More information is in the COPYING file in the top directory of this package.
- # Copyright (C) 2011 severalnines.com
- {%- if pillar.galera.master is defined %}
- {%- from "galera/map.jinja" import master with context %}
- {%- set service = master %}
- {%- endif %}
- {%- if pillar.galera.slave is defined %}
- {%- from "galera/map.jinja" import slave with context %}
- {%- set service = slave %}
- {%- endif %}
- [MYSQLD]
- user=mysql
- basedir=/usr/
- datadir=/var/lib/mysql
- socket={{ service.socket }}
- pid_file=mysqld.pid
- port=3306
- log_error={{ service.log_file }}
- log_warnings=2
- #log_output=FILE
- ### INNODB OPTIONS
- innodb_buffer_pool_size=9211M
- innodb_flush_log_at_trx_commit=2
- innodb_file_per_table=1
- innodb_data_file_path = ibdata1:100M:autoextend
- ## You may want to tune the below depending on number of cores and disk sub
- innodb_read_io_threads=4
- innodb_write_io_threads=4
- innodb_io_capacity=200
- innodb_doublewrite=1
- innodb_log_file_size=1024M
- innodb_log_buffer_size=96M
- innodb_buffer_pool_instances=8
- innodb_log_files_in_group=2
- innodb_thread_concurrency=64
- #innodb_file_format=barracuda
- innodb_flush_method = O_DIRECT
- innodb_autoinc_lock_mode=2
- ## avoid statistics update when doing e.g show tables
- innodb_stats_on_metadata=0
- default_storage_engine=innodb
-
- bind-address={{ service.bind.address }}
-
- # CHARACTER SET
- #collation_server = utf8_unicode_ci
- #init_connect='SET NAMES utf8'
- character_set_server = utf8
-
- # REPLICATION SPECIFIC
- #server_id must be unique across all mysql servers participating in replication.
- #server_id=SERVERID
- binlog_format=ROW
- #log_slave_updates=1
- #log_bin=binlog
- #relay_log=relay-bin
- #expire_logs_days=7
- #gtid_mode=ON
- #enforce_gtid_consistency=1
- # OTHER THINGS, BUFFERS ETC
- key_buffer_size = 24M
- tmp_table_size = 64M
- max_heap_table_size = 64M
- max_allowed_packet = 512M
- #sort_buffer_size = 256K
- #read_buffer_size = 256K
- #read_rnd_buffer_size = 512K
- #myisam_sort_buffer_size = 8M
- skip_name_resolve
- memlock=0
- sysdate_is_now=1
- max_connections={{ service.get('max_connections', 20000) }}
- thread_cache_size=512
- query_cache_type = 0
- query_cache_size = 0
- table_open_cache=1024
- lower_case_table_names=0
- # 5.6 backwards compatibility
- #explicit_defaults_for_timestamp=1
- ##
- ## WSREP options
- ##
-
- # Full path to wsrep provider library or 'none'
- wsrep_provider={{ service.wsrep_provider }}
-
- wsrep_node_address={{ service.bind.address }}
- # Provider specific configuration options
- wsrep_provider_options="gcache.size=8192M"
-
- # Logical cluster name. Should be the same for all nodes.
- wsrep_cluster_name="my_wsrep_cluster"
-
- # Group communication system handle
- #wsrep_cluster_address=gcomm://10.0.0.3:4567,10.0.0.4:4567,10.0.0.2:4567
- wsrep_cluster_address=gcomm://{% for member in service.members %}{{ member.host}}{% if not loop.last %},{% endif %}{% endfor %}
-
- # Human_readable node name (non-unique). Hostname by default.
- wsrep_node_name={{ service.bind.address }}
-
- # Address for incoming client connections. Autodetect by default.
- #wsrep_node_incoming_address=
-
- # How many threads will process writesets from other nodes
- wsrep_slave_threads=8
-
- # DBUG options for wsrep provider
- #wsrep_dbug_option
-
- # Generate fake primary keys for non-PK tables (required for multi-master
- # and parallel applying operation)
- wsrep_certify_nonPK=1
-
- # Location of the directory with data files. Needed for non-mysqldump
- # state snapshot transfers. Defaults to mysql_real_data_home.
- #wsrep_data_home_dir=
-
- # Maximum number of rows in write set
- wsrep_max_ws_rows=131072
-
- # Maximum size of write set
- wsrep_max_ws_size=1073741824
-
- # to enable debug level logging, set this to 1
- wsrep_debug=0
-
- # convert locking sessions into transactions
- wsrep_convert_LOCK_to_trx=0
-
- # how many times to retry deadlocked autocommits
- wsrep_retry_autocommit=1
-
- # change auto_increment_increment and auto_increment_offset automatically
- wsrep_auto_increment_control=1
-
- # replicate myisam
- wsrep_replicate_myisam=1
- # retry autoinc insert, which failed for duplicate key error
- wsrep_drupal_282555_workaround=0
-
- # enable "strictly synchronous" semantics for read operations
- wsrep_causal_reads=0
-
- # Command to call when node status or cluster membership changes.
- # Will be passed all or some of the following options:
- # --status - new status of this node
- # --uuid - UUID of the cluster
- # --primary - whether the component is primary or not ("yes"/"no")
- # --members - comma-separated list of members
- # --index - index of this node in the list
- #wsrep_notify_cmd=
-
- ##
- ## WSREP State Transfer options
- ##
-
- # State Snapshot Transfer method
- # ClusterControl currently DOES NOT support wsrep_sst_method=mysqldump
- wsrep_sst_method=xtrabackup
-
- # Address on THIS node to receive SST at. DON'T SET IT TO DONOR ADDRESS!!!
- # (SST method dependent. Defaults to the first IP of the first interface)
- #wsrep_sst_receive_address=
-
- # SST authentication string. This will be used to send SST to joining nodes.
- # Depends on SST method. For mysqldump method it is root:<root password>
- wsrep_sst_auth={{ service.admin.user }}:{{ service.admin.password }}
-
- # Desired SST donor name.
- #wsrep_sst_donor=
-
- # Protocol version to use
- # wsrep_protocol_version=
- [MYSQL]
- socket={{ service.socket }}
- #default_character_set=utf8
- [client]
- socket={{ service.socket }}
- default_character_set=utf8
- [mysqldump]
- max_allowed_packet = 512M
- socket={{ service.socket }}
- default_character_set=utf8
- [MYSQLD_SAFE]
- pid_file=mysqld.pid
- log_error={{ service.log_file }}
- basedir=/usr/
- datadir=/var/lib/mysql
|