
Add variables `galera_require_secure_transport` and `galera_tls_version` for requiring encrypted connections to the server and providing the list of permitted protocols of those connections when `galera_use_ssl` is enabled. Change-Id: I28c548a5ee778c4957dc73e3547d585344755c0f Depends-On: I6b77c828d251aeee53b83404e7e3131e3f61cbb1 Depends-On: I23d839e75b202d0400aeefe6e98c429e16ecd37e
116 lines
3.4 KiB
Django/Jinja
116 lines
3.4 KiB
Django/Jinja
{%- set all_calculated_max_connections = [] %}
|
|
{%- for galera_node in galera_cluster_members %}
|
|
{%- set vcpus = hostvars[galera_node]['ansible_facts']['processor_vcpus'] %}
|
|
{%- if all_calculated_max_connections.append([[vcpus|default(2), 2] | max, galera_wsrep_slave_threads_max] | min * 100) %}
|
|
{%- endif %}
|
|
{%- endfor %}
|
|
{%- set calculated_max_connections = all_calculated_max_connections|sort %}
|
|
|
|
# {{ ansible_managed }}
|
|
|
|
[client]
|
|
port = 3306
|
|
socket = "{{ galera_var_run_socket }}"
|
|
|
|
|
|
[mysqld_safe]
|
|
socket = "{{ galera_var_run_socket }}"
|
|
nice = 0
|
|
|
|
|
|
[mysql]
|
|
default-character-set = utf8
|
|
|
|
|
|
[mysqld]
|
|
user = mysql
|
|
collation-server = utf8_general_ci
|
|
init-connect = 'SET NAMES utf8'
|
|
character-set-server = utf8
|
|
datadir = {{ galera_data_dir }}
|
|
tmpdir = {{ galera_tmp_dir }}
|
|
{% for ignored_db in galera_ignore_db_dirs %}
|
|
ignore_db_dirs = {{ ignored_db }}
|
|
{% endfor %}
|
|
|
|
bind-address = {{ galera_server_bind_address }}
|
|
{% if galera_server_proxy_protocol_networks %}
|
|
proxy-protocol-networks = {{ galera_server_proxy_protocol_networks }}
|
|
{% endif %}
|
|
|
|
{% if galera_server_id is defined %}
|
|
server-id = {{ galera_server_id }}
|
|
{% endif %}
|
|
{% if galera_use_ssl | bool %}
|
|
ssl
|
|
ssl-ca = {{ galera_ssl_ca_cert }}
|
|
ssl-cert = {{ galera_ssl_cert }}
|
|
ssl-key = {{ galera_ssl_key }}
|
|
require-secure-transport = {{ galera_require_secure_transport }}
|
|
tls-version = {{ galera_tls_version }}
|
|
{% endif %}
|
|
|
|
# LOGGING #
|
|
log-queries-not-using-indexes = {{ galera_unindexed_query_logging }}
|
|
slow-query-log = {{ galera_slow_query_logging }}
|
|
slow_query_log_file = {{ galera_slow_query_log_file }}
|
|
log-bin = {{ galera_data_dir }}/mariadb-bin
|
|
log-bin-index = {{ galera_data_dir }}/mariadb-bin.index
|
|
expire-logs-days = 7
|
|
log_slave_updates = 1
|
|
log_bin_trust_function_creators = 1
|
|
|
|
# MONITORING #
|
|
extra_port = {{ galera_monitoring_port }}
|
|
extra_max_connections = {{ galera_monitoring_max_connections }}
|
|
|
|
# SAFETY #
|
|
max-allowed-packet = 16M
|
|
max-connect-errors = 1000000
|
|
|
|
# NOTE: If galera_max_connections is not configured by user, the number of max
|
|
# connections is defined by ( host_vcpus * 100 ) with a capping value of 1600.
|
|
# This value is the lowest integer based on the ansible facts gathered from
|
|
# every galera node.
|
|
# Computing the connections value using the lowest denominator maintains
|
|
# cluster integrity by not attempting to over commit to a less capable machine.
|
|
# These are the computed max_connections based on the cluster data
|
|
# {{ calculated_max_connections }}
|
|
max_connections = {{ galera_max_connections | default(calculated_max_connections[0]) }}
|
|
|
|
wait_timeout = {{ galera_wait_timeout }}
|
|
|
|
# CACHES AND LIMITS #
|
|
tmp-table-size = {{ galera_max_heap_table_size }}
|
|
max-heap-table-size = {{ galera_tmp_table_size }}
|
|
query-cache-type = 0
|
|
query-cache-size = 0M
|
|
thread-cache-size = 50
|
|
open-files-limit = {{ galera_file_limits }}
|
|
table-definition-cache = 4096
|
|
table-open-cache = 10240
|
|
|
|
# INNODB #
|
|
innodb-flush-method = O_DIRECT
|
|
innodb-log-file-size = {{ galera_innodb_log_file_size }}
|
|
innodb-flush-log-at-trx-commit = 1
|
|
innodb-file-per-table = 1
|
|
innodb-buffer-pool-size = {{ galera_innodb_buffer_pool_size }}
|
|
|
|
# Depending on number of cores and disk sub
|
|
innodb-read-io-threads = 4
|
|
innodb-write-io-threads = 4
|
|
innodb-doublewrite = 1
|
|
innodb-log-buffer-size = {{ galera_innodb_log_buffer_size }}
|
|
|
|
# avoid statistics update when doing e.g show tables
|
|
innodb_stats_on_metadata = 0
|
|
|
|
[mysqldump]
|
|
quick
|
|
quote-names
|
|
max_allowed_packet = 16M
|
|
|
|
|
|
!includedir {{ galera_etc_include_dir }}/
|