
MySQL SSL connections allowed. Self-signed SSL bundle created and placed to the deployment host, or user-provided SSL bundle (CA, cert and the key) is used. Change-Id: Ibac61d45cea67123fe61a6de4f906b4bd1949a34 Partial-Bug: #1667789
105 lines
3.0 KiB
Django/Jinja
105 lines
3.0 KiB
Django/Jinja
{%- set all_calculated_max_connections = [] %}
|
|
{%- for galera_node in galera_cluster_members %}
|
|
{%- set vcpus = hostvars[galera_node]['ansible_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 = /var/run/mysqld/mysqld.sock
|
|
|
|
|
|
[mysqld_safe]
|
|
socket = /var/run/mysqld/mysqld.sock
|
|
nice = 0
|
|
log_error = /var/log/mysql_logs/galera_server_error.log
|
|
|
|
|
|
[mysql]
|
|
default-character-set = utf8
|
|
|
|
|
|
[mysqld]
|
|
user = mysql
|
|
collation-server = utf8_general_ci
|
|
init-connect = 'SET NAMES utf8'
|
|
character-set-server = utf8
|
|
datadir = /var/lib/mysql
|
|
bind-address = ::
|
|
{% if galera_server_id is defined %}
|
|
server-id = {{ galera_server_id }}
|
|
{% endif %}
|
|
{% if galera_use_ssl | bool %}
|
|
ssl-ca = {{ galera_ssl_ca_cert }}
|
|
ssl-cert = {{ galera_ssl_cert }}
|
|
ssl-key = {{ galera_ssl_key }}
|
|
{% endif %}
|
|
|
|
# LOGGING #
|
|
log-queries-not-using-indexes = {{ galera_unindexed_query_logging }}
|
|
slow-query-log = {{ galera_slow_query_logging }}
|
|
slow-query-log-file = /var/log/mysql_logs/mysql-slow.log
|
|
log_error = /var/log/mysql_logs/galera_server_error.log
|
|
log-bin = /var/lib/mysql/mariadb-bin
|
|
log-bin-index = /var/lib/mysql/mariadb-bin.index
|
|
expire-logs-days = 7
|
|
log_slave_updates = 1
|
|
log_bin_trust_function_creators = 1
|
|
|
|
# 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 }}
|
|
innodb-buffer-pool-instances = 8
|
|
innodb-log-files-in-group = 2
|
|
innodb-thread-concurrency = 64
|
|
|
|
# avoid statistics update when doing e.g show tables
|
|
innodb_stats_on_metadata = 0
|
|
|
|
[mysqldump]
|
|
quick
|
|
quote-names
|
|
max_allowed_packet = 16M
|
|
|
|
|
|
!includedir /etc/mysql/conf.d/
|