Details
-
Bug
-
Status: Open (View Workflow)
-
Critical
-
Resolution: Unresolved
-
10.5.21
-
None
-
Debian 11.8
Description
We always got a galera connection drop on saturday near 00:00.
At this time there are running always some optimization jobs for the databases.
But why is the second mariadb server always dropping or closing the galera connection to the primary/first node (where all connections are going to from the haproxy)?
Here is our central config for all mariadb servers:
# MANAGED BY ANSIBLE, ALL CHANGES WILL BE OVERWRITTEN!
|
#
|
# These groups are read by MariaDB server.
|
# Use it for options that only the server (but not clients) should see
|
#
|
# See the examples of server my.cnf files in /usr/share/mysql
|
|
# this is read by the standalone daemon and embedded servers
|
[server]
|
|
# this is only for the mysqld standalone daemon
|
[mysqld]
|
|
#
|
# * Basic Settings
|
#
|
user = mysql
|
pid-file = /run/mysqld/mysqld.pid
|
socket = /run/mysqld/mysqld.sock
|
port = 3306
|
basedir = /usr
|
datadir = /data/pr-be-mdb-galera02-02
|
tmpdir = /tmp
|
lc-messages-dir = /usr/share/mysql
|
#skip-external-locking
|
skip-name-resolve
|
|
# Instead of skip-networking the default is now to listen only on
|
# localhost which is more compatible and is not less secure.
|
bind-address = 0.0.0.0
|
|
#
|
# * Fine Tuning
|
#
|
#key_buffer_size = 16M
|
max_allowed_packet = 128M
|
#thread_stack = 192K
|
#thread_cache_size = 8
|
# This replaces the startup script and checks MyISAM tables if needed
|
# the first time they are touched
|
#myisam_recover_options = BACKUP
|
max_connections = 1250
|
#table_cache = 64
|
#thread_concurrency = 10
|
|
sql_mode = ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
|
key_buffer_size = 256M
|
table_open_cache = 8192
|
table_definition_cache = 8192
|
thread_cache_size = 32
|
max_user_connections = 0
|
tmp_table_size = 32M
|
max_heap_table_size = 32M
|
join_buffer_size = 2M
|
sort_buffer_size = 2M
|
read_rnd_buffer_size = 1M
|
|
#
|
# * Performance schema for better diagnostics
|
#
|
performance_schema = ON
|
|
#
|
# * Query Cache Configuration
|
#
|
query_cache_limit = 1M
|
query_cache_size = 0
|
query_cache_type = 0
|
|
#
|
# * Logging and Replication
|
#
|
# Both location gets rotated by the cronjob.
|
# Be aware that this log type is a performance killer.
|
# As of 5.1 you can enable the log at runtime!
|
#general_log_file = /var/log/mysql/mysql.log
|
#general_log = 1
|
#
|
# Error log - should be very few entries.
|
#
|
log_error = /var/log/mysql/error.log
|
#
|
# Enable the slow query log to see queries with especially long duration
|
#slow_query_log_file = /var/log/mysql/mariadb-slow.log
|
#long_query_time = 10
|
#log_slow_rate_limit = 1000
|
#log_slow_verbosity = query_plan
|
#log-queries-not-using-indexes
|
#
|
# The following can be used as easy to replay backup logs or for replication.
|
# note: if you are setting up a replication slave, see README.Debian about
|
# other settings you may need to change.
|
#server-id = 1
|
|
expire_logs_days = 10
|
#max_binlog_size = 100M
|
#binlog_do_db = include_database_name
|
#binlog_ignore_db = exclude_database_name
|
|
#
|
# * Security Features
|
#
|
# Read the manual, too, if you want chroot!
|
#chroot = /var/lib/mysql/
|
#
|
# For generating SSL certificates you can use for example the GUI tool "tinyca".
|
#
|
#ssl-ca = /etc/mysql/cacert.pem
|
#ssl-cert = /etc/mysql/server-cert.pem
|
#ssl-key = /etc/mysql/server-key.pem
|
#
|
# Accept only connections using the latest and most secure TLS protocol version.
|
# ..when MariaDB is compiled with OpenSSL:
|
#ssl-cipher = TLSv1.2
|
# ..when MariaDB is compiled with YaSSL (default in Debian):
|
#ssl = on
|
|
#
|
# * Character sets
|
#
|
# MySQL/MariaDB default is Latin1, but in Debian we rather default to the full
|
# utf8 4-byte character set. See also client.cnf
|
#
|
character-set-server = utf8mb4
|
collation-server = utf8mb4_general_ci
|
|
#
|
# * InnoDB
|
#
|
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
|
# Read the manual for more InnoDB related options. There are many!
|
innodb_buffer_pool_size = 16G
|
innodb_buffer_pool_instances = 16
|
innodb_thread_concurrency = 8
|
innodb_log_file_size = 6G
|
innodb_log_buffer_size = 16M
|
innodb_flush_log_at_trx_commit = 0
|
innodb_lock_wait_timeout = 300
|
innodb_io_capacity = 4000
|
innodb_io_capacity_max = 8000
|
innodb_read_io_threads = 8
|
innodb_write_io_threads = 8
|
|
#
|
# * Unix socket authentication plugin is built-in since 10.0.22-6
|
#
|
# Needed so the root database user can authenticate without a password but
|
# only when running as the unix root user.
|
#
|
# Also available for other users if required.
|
# See https://mariadb.com/kb/en/unix_socket-authentication-plugin/
|
|
# this is only for embedded server
|
[embedded]
|
|
# This group is only read by MariaDB servers, not by MySQL.
|
# If you use the same .cnf file for MySQL and MariaDB,
|
# you can put MariaDB-only options here
|
[mariadb]
|
|
# This group is only read by MariaDB-10.3 servers.
|
# If you use the same .cnf file for MariaDB of different versions,
|
# use this group for options that older servers don't understand
|
[mariadb-10.3]
|
[mysqld]
|
####################################
|
# mysql/mariadb settings
|
|
binlog_format = ROW
|
default-storage-engine = innodb
|
innodb_autoinc_lock_mode = 2
|
innodb_file_per_table = on
|
binlog-row-image = minimal
|
|
innodb_doublewrite = 1
|
|
####################################
|
# galera settings
|
|
wsrep_on = ON
|
wsrep_provider = /usr/lib/galera/libgalera_smm.so
|
wsrep_cluster_name = "sql-gc02"
|
wsrep_cluster_address = "gcomm://10.49.65.120,10.49.65.121,10.49.65.122"
|
wsrep_node_address = "10.49.65.121"
|
wsrep_node_name = "pr-be-mdb-galera02-02"
|
wsrep_sst_method = "mariabackup"
|
wsrep_sst_auth = xxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxx
|
ignore_db_dirs = .snapshot
|
wsrep_slave_threads = 8
|