Describe the Bug
#1580 describes it pretty well. The short version is that in MariaDB 11.x community edition, commands like mysql and mysqld don't work. You need to use replacements like mariadb and mariadbd.
#1645 addressed part of the problem, but not all of it. When you try to create resources on MariaDB 11, it fails because the module tries to use mysql / mysqld commands. From a run of puppet agent -t --debug:
Debug: Puppet::Type::Mysql_datadir::ProviderMysql: file mysqld does not exist
Debug: Puppet::Type::Mysql_database::ProviderMysql: file mysql does not exist
Debug: Puppet::Type::Mysql_user::ProviderMysql: file mysql does not exist
Debug: Puppet::Type::Mysql_grant::ProviderMysql: file mysql does not exist
This is because the mysql command is used in providers, ex:
|
commands mysql_raw: 'mysql' |
I modified the providers to use mariadb / mariadbd instead and it solved the problem.
Expected Behavior
Add conditional logic to all providers to use the appropriate MariaDB commands when the installed version is >= 11.0.0.
Steps to Reproduce
Perform a Puppet run using an environment that makes use of module providers such as mysql_database.
Environment
Tested using the latest main branch code from 6/11/2025. Clients run RHEL 9 and MariaDB 11.4.5.
# rpm -qa | grep Maria | sort
MariaDB-client-11.4.5-1.el9.x86_64
MariaDB-common-11.4.5-1.el9.x86_64
MariaDB-server-11.4.5-1.el9.x86_64
MariaDB-shared-11.4.5-1.el9.x86_64
Describe the Bug
#1580 describes it pretty well. The short version is that in MariaDB 11.x community edition, commands like
mysqlandmysqlddon't work. You need to use replacements likemariadbandmariadbd.#1645 addressed part of the problem, but not all of it. When you try to create resources on MariaDB 11, it fails because the module tries to use
mysql/mysqldcommands. From a run ofpuppet agent -t --debug:This is because the
mysqlcommand is used in providers, ex:puppetlabs-mysql/lib/puppet/provider/mysql_database/mysql.rb
Line 7 in cf0ffe8
I modified the providers to use
mariadb/mariadbdinstead and it solved the problem.Expected Behavior
Add conditional logic to all providers to use the appropriate MariaDB commands when the installed version is >= 11.0.0.
Steps to Reproduce
Perform a Puppet run using an environment that makes use of module providers such as mysql_database.
Environment
Tested using the latest main branch code from 6/11/2025. Clients run RHEL 9 and MariaDB 11.4.5.