Hi all,
Just a heads up in case any of you are using the following combo the latest updates from upstream and MariaDB break Galera replication setups
- RL9
- MariaDB 11.4.9 from MariaDB repository
- Galera DB cluster replication
- SELinux enabled and enforcing
Background
Part of the updates released overnight included MariaDB 11.4.9, upgraded from 11.4.8 both direct from the MariaDB rpm repos. New version of MariaDB now has dependencies for mysql-selinux (installs version 1.0.14) and many other selinux packages that werenât required previously with MariaDB 11.4.8
Dependencies resolved.
Package Architecture Version Repository Size
Upgrading:
MariaDB-client x86_64 11.4.9-1.el9 mariadb 9.4 M
MariaDB-client-compat noarch 11.4.9-1.el9 mariadb 11 k
MariaDB-common x86_64 11.4.9-1.el9 mariadb 89 k
MariaDB-server x86_64 11.4.9-1.el9 mariadb 19 M
MariaDB-server-compat noarch 11.4.9-1.el9 mariadb 9.0 k
MariaDB-shared x86_64 11.4.9-1.el9 mariadb 130 k
Installing dependencies:
checkpolicy x86_64 3.6-1.el9 appstream 352 k
mysql-selinux noarch 1.0.14-1.el9_6 appstream 36 k
policycoreutils-python-utils noarch 3.6-2.1.el9 appstream 71 k
python3-audit x86_64 3.1.5-4.el9 appstream 83 k
python3-distro noarch 1.5.0-7.el9 appstream 36 k
python3-libsemanage x86_64 3.6-5.el9_6 appstream 78 k
python3-policycoreutils noarch 3.6-2.1.el9 appstream 2.0 M
python3-setools x86_64 4.4.4-1.el9 baseos 551 k
python3-setuptools noarch 53.0.0-13.el9_6.1 baseos 837 k
Transaction Summary
Install 9 Packages
Upgrade 6 Packages
Problem
After running dnf update, the update hangs at âRunning scriptlet: MariaDB-server-11.4.9-1.el9.x86_64â, digging into the stuck part, it is the restart of MariaDB and this is reported in the log:
Nov 07 09:41:57 ``dbnode2.etisoftware.co.uk`` mariadbd[50960]: WSREP_SST: [INFO] rsync SST started on joiner (20251107 09:41:57.596)
Nov 07 09:41:57 ``dbnode2.etisoftware.co.uk`` mariadbd[50960]: WSREP_SST: [INFO] /proc/net/tcp{,6} is being used directly to avoid excessive selinux AVC notices (20251107 09:41:57.667)
Nov 07 09:41:57 ``dbnode2.etisoftware.co.uk`` rsyncd[51087]: rsyncd version 3.2.5 starting, listening on port 4444
Nov 07 09:41:57 ``dbnode2.etisoftware.co.uk`` rsyncd[51087]: bind() failed: Permission denied (address-family 2)
Nov 07 09:41:57 ``dbnode2.etisoftware.co.uk`` rsyncd[51087]: unable to bind any inbound sockets on port 4444
Nov 07 09:41:57 ``dbnode2.etisoftware.co.uk`` rsyncd[51087]: rsync error: error in socket IO (code 10) at socket.c(545) [Receiver=3.2.5]
Nov 07 09:42:00 ``dbnode2.etisoftware.co.uk`` mariadbd[50951]: 2025-11-07 9:42:00 0 [Note] WSREP: (fff16b24-9847, âtcp://0.0.0.0:4567â) turning message relay requesting off
Steps to fix
Killing the wsrep_sst_rsync process allows the MariaDB service to complete the restart and the dnf process to complete. We find these errors in the selinux AVC logs:
0 10:10:24 root@dbnode2 ~ $ audit2why -a
type=AVC msg=audit(1762508517.711:2864): avc: denied { name_bind } for pid=51087 comm=ârsyncâ src=4444 scontext=system_u:system_r:mysqld_t:s0 tcontext=system_u:object_r:kerberos_port_t:s0 tclass=tcp_socket permissive=0
Was caused by:
The boolean nis_enabled was set incorrectly.
Description:
Allow nis to enabled
Allow access by executing:
# setsebool -P nis_enabled 1
type=AVC msg=audit(1762508986.110:2891): avc: denied { name_bind } for pid=59722 comm=ârsyncâ src=4444 scontext=system_u:system_r:mysqld_t:s0 tcontext=system_u:object_r:kerberos_port_t:s0 tclass=tcp_socket permissive=1
Was caused by:
The boolean nis_enabled was set incorrectly.
Description:
Allow nis to enabled
Allow access by executing:
# setsebool -P nis_enabled 1
type=AVC msg=audit(1762508986.113:2892): avc: denied { name_bind } for pid=58523 comm=âmariadbdâ src=4568 scontext=system_u:system_r:mysqld_t:s0 tcontext=system_u:object_r:unreserved_port_t:s0 tclass=tcp_socket permissive=1
Was caused by:
The boolean nis_enabled was set incorrectly.
Description:
Allow nis to enabled
Allow access by executing:
# setsebool -P nis_enabled 1
type=AVC msg=audit(1762508989.077:2894): avc: denied { name_connect } for pid=58523 comm=âmariadbdâ dest=4568 scontext=system_u:system_r:mysqld_t:s0 tcontext=system_u:object_r:unreserved_port_t:s0 tclass=tcp_socket permissive=1
Was caused by:
One of the following booleans was set incorrectly.
Description:
Allow nis to enabled
Allow access by executing:
# setsebool -P nis_enabled 1
Description:
Allow mysql to connect any
Allow access by executing:
# setsebool -P mysql_connect_any 1
Changing the selinux bool settings as reported allows the service to restart and sync normally, as does switching selinux to permissive mode with setenforce 0.
When running MariaDB 11.4.8 both of the above boolean values are set to off, there is no mysql-selinux package installed as a dependency and all sync options work normally.