GaleraCnf - file /etc/my.cnf.d/galera.cnf

class insights.parsers.galera_cnf.GaleraCnf(context)[source]

Bases: IniConfigFile

This module provides parsing for the galera configuration of MySQL. The input is the contents of the file /etc/my.cnf.d/galera.cnf.

Typical contents of the galera.cnf file looks like this:

[client]
port = 3306
socket = /var/lib/mysql/mysql.sock

[isamchk]
key_buffer_size = 16M

[mysqld]
basedir = /usr
binlog_format = ROW
datadir = /var/lib/mysql
default-storage-engine = innodb
expire_logs_days = 10
innodb_autoinc_lock_mode = 2
innodb_locks_unsafe_for_binlog = 1
key_buffer_size = 16M
log-error = /var/log/mariadb/mariadb.log
max_allowed_packet = 16M
max_binlog_size = 100M
max_connections = 8192
wsrep_max_ws_rows = 131072
wsrep_max_ws_size = 1073741824

[mysqld_safe]
log-error = /var/log/mariadb/mariadb.log
nice = 0
socket = /var/lib/mysql/mysql.sock

[mysqldump]
max_allowed_packet = 16M
quick
quote-names

Examples

>>> type(galera_conf)
<class 'insights.parsers.galera_cnf.GaleraCnf'>
>>> 'mysqld' in galera_conf
True
>>> 'client' in galera_conf
True
>>> galera_conf.has_option('isamchk', 'key_buffer_size')
True
>>> galera_conf.has_option('mysqld', 'foo')
False
>>> galera_conf.get('client', 'port')
'3306'
>>> expected = {'port': '3306', 'socket': '/var/lib/mysql/mysql.sock'}
>>> galera_conf.items('client') == expected
True
parse_content(content, allow_no_value=True)[source]

This method must be implemented by classes based on this class.