Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status


mariadb (78) Versions 4.0.1

Installs/Configures MariaDB

cookbook 'mariadb', '= 4.0.1', :supermarket
cookbook 'mariadb', '= 4.0.1'
knife supermarket install mariadb
knife supermarket download mariadb
Quality 100%

MariaDB Cookbook

Cookbook Version
Build Status


This cookbook contains all the stuffs to install and configure and manage a mariadb server on a dpkg/apt compliant system (typically debian), or a rpm/yum compliant system (typically centos)


This cookbook is maintained by the Sous Chefs. The Sous Chefs are a community of Chef cookbook maintainers working together to maintain important cookbooks. If you’d like to know more please visit or come chat with us on the Chef Community Slack in #sous-chefs.



  • mariadb - This cookbook need that you have a valid apt repository installed with the mariadb official packages


  • percona-xtrabackup - if you want to use the xtrabckup SST Auth for galera cluster.
  • mariadb-backup - if you want to use the mariabackup SST Auth for galera cluster.
  • socat - if you want to use the xtrabckup or mariabackup SST Auth for galera cluster.
  • rsync - if you want to use the rsync SST Auth for galera cluster.
  • debconf-utils - if you use debian platform family.

operating system

  • debian - this cookbook is fully tested on debian
  • ubuntu - this cookbook is fully tested on ubuntu
  • centos - this cookbook is fully tested on centos

Chef version

Since version 2.0.0 of this cookbook, chef 13 support is dropped. New chef 14 is the minimum version tested.
If you can't upgrade your chef 13, please use the version 1.5.4 or earlier of this cookbook.


If you are wondering where all the recipes went in v2.0+, or how on earth I use this new cookbook please see for a full description.



  1. Fork the repository on Github
  2. Create a named feature branch (like add_component_x)
  3. Write your change
  4. Write tests for your change (if applicable)
  5. Run the tests, ensuring they all pass
  6. Submit a Pull Request using Github


This project exists thanks to all the people who contribute.


Thank you to all our backers!


Support this project by becoming a sponsor. Your logo will show up here with a link to your website.

Dependent cookbooks

selinux_policy ~> 2.0

Contingent cookbooks

abiquo Applicable Versions
database_application Applicable Versions
dvwa Applicable Versions
fivem Applicable Versions
kloudspeaker Applicable Versions
letsencrypt-boulder-server Applicable Versions
mysql2_chef_gem Applicable Versions
mysql_chef_gem Applicable Versions
openstack-common Applicable Versions
openstack-ops-database Applicable Versions
slurm Applicable Versions


All notable changes to this project will be documented in this file.

This project adheres to Semantic Versioning.

4.0.1 (2020-06-02)

  • resolved cookstyle error: resources/repository.rb:60:18 refactor: ChefCorrectness/InvalidPlatformFamilyInCase

4.0.0 (2020-05-22)

  • Update CHANGELOG format
  • Add CentOS 8 to GitHub Actions
  • Add Ubuntu 20.04 to GitHub Actions
  • Remove Amazon Linux 2 from GitHub Actions
  • Chef 15 is now the lowest supported version

3.2.0 (2020-05-05)

  • Simplify a platform version check in the repository resource and the helpers library
  • Migrate testing to Github Actions
  • Simplify the apt_repository resource usage in the repository resource
  • Use true/false in the user resource not TrueClass / FalseClass
  • Fixed changing the character set and collation of an existing database resource
  • Simplify a platform version check in the repository resource
  • Migrate testing to GitHub Actions
  • Various Cookstyle fixes:
    • resolved cookstyle error: resources/server_configuration.rb:203:5 refactor: ChefStyle/NegatingOnlyIf
    • resolved cookstyle error: resources/server_configuration.rb:288:7 refactor: ChefStyle/NegatingOnlyIf
    • resolved cookstyle error: test/cookbooks/test/recipes/user_database.rb:1:16 warning: Lint/SendWithMixinArgument
    • resolved cookstyle error: resources/database.rb:24:42 refactor: ChefRedundantCode/StringPropertyWithNilDefault
    • resolved cookstyle error: resources/database.rb:25:42 refactor: ChefRedundantCode/StringPropertyWithNilDefault
    • resolved cookstyle error: resources/galera_configuration.rb:24:66 refactor: ChefRedundantCode/StringPropertyWithNilDefault
    • resolved cookstyle error: resources/galera_configuration.rb:25:66 refactor: ChefRedundantCode/StringPropertyWithNilDefault
    • resolved cookstyle error: resources/galera_configuration.rb:32:66 refactor: ChefRedundantCode/StringPropertyWithNilDefault
    • resolved cookstyle error: resources/replication.rb:25:54 convention: Layout/ExtraSpacing
    • resolved cookstyle error: resources/replication.rb:25:56 refactor: ChefRedundantCode/StringPropertyWithNilDefault
    • resolved cookstyle error: resources/replication.rb:26:71 convention: Layout/ExtraSpacing
    • resolved cookstyle error: resources/server_configuration.rb:27:62 refactor: ChefRedundantCode/StringPropertyWithNilDefault
    • resolved cookstyle error: resources/server_configuration.rb:65:62 refactor: ChefRedundantCode/StringPropertyWithNilDefault
    • resolved cookstyle error: resources/server_configuration.rb:93:62 refactor: ChefRedundantCode/StringPropertyWithNilDefault

3.1.0 (2019-10-24)

  • Fix mariadbbackup_pkg_name helper for yum-based platforms (#276)
  • Fix replication resource load_current_value to use Integers where required
  • Fix Make server_configuration and server_install resources idempotent (#265)
  • Simplify platform check logic in the repository resource

3.0.0 (2019-10-17)

  • Added tests suite for 2 scenarios (galera_configuration and port_changed)
  • Added support for Debian 10
  • Update documentation following guidelines
  • Fix undefined method ext_conf_dir when using mariadb 2.0.0 (#225)
  • Fix Rename property apt_repository to apt_repository_uri in repository resource (#245)
  • Fix markdown and yaml linting, cookstyle, and parallel circle builds
  • Remove support for debian 8 (end of life since 2018-6-6)


  • Add property apt_key_proxy to mariadb_repository to be able to pass a proxy setting to apt-key (#234)
  • Add a mechanism to properly set the root password for mariadb (#234-bc33fb2 : #234-c576d42)
  • Add APT repository property to allow the user to select another mirror than
  • Fix String quoting that prevented some SQL commands to execute properly (#220)
  • Fix broken CHANGELOG links
  • Fix setup repo condition, it always updated even if setup_repo was false


  • Added all resources which replace the old recipes
  • Removed support for fedora
  • Removed all recipes
  • Removed support for Chef 13

1.5.4 (2018-05-25)

  • Added resource mariadb_database to manage databases (#187)
  • Added resource mariadb_user to manage users and privileges (#187)
  • Added support for MariaDB galera 10.2 (#197)
  • Added support for Debian 9 (#193,#194,#198,#202)
  • Added the new SST method mariabackup (#192)
  • Fixed a libssl conflict when using resources based on mysql2 gem (#193)
  • Fixed lack of libmariadbclient-dev on Ubuntu 16.04 when using native package (#186)
  • Removed support for Chef 12 (#203)

1.5.3 (2017-10-13)

This cookbook was transferred to Sous Chefs.

  • Fixed bug where cookbook tries to set root password on every run instead of first install only (#174)

1.5.2 (2017-10-05)

  • Added optimisations for client and server ChefSpec (#165)
  • Added support for Percona XtraBackup 2.4 package (#170)
  • Fixed CookStyle warnings (#172)
  • Fixed Chefspec/Fauxhai deprecation messages (#171)
  • Fixed missing privileges on sstuser (#168)
  • Ensure configuration reload and server start after config (#166)
  • Removed some OSes from Travis test suite; now only running tests on latest supported OS releases to get faster feedback

1.5.1 (2017-05-02)

  • Remove check for chef-client running in local mode in the galera recipe which skips search - this prevents being able to search when using TK (#160)

1.5.0 (2017-04-25)

  • Add the ability to set a custom wsrep_node_port, for when you want to specify a non default wsrep_node_incoming_address value (#152)

1.4.0 (2017-04-21)

  • #128 solved, mysql-libs is prevented from being removed on newer CentOS versions causing Chef to break (#153)
  • mariadb_replication rewritten as a custom resource (#151)
  • Remove Fedora support, tested versions are long gone EOL and hard to support; only latest version has a repo on

1.3.0 (2017-03-20)

  • Add ability to enable and disable server audit logging (#150)

1.2.0 (2017-03-15)

  • Add recipe and attributes to install using Software Collections (SCL) on RedHat family systems (#149)

1.1.0 (2017-03-12)

  • Correctly set server-id and fixed replication provider nil string bug (#118)
  • Make open-files-limit configurable (previously commented out in template) (#118)
  • Fix package name for RedHat family distros using MariaDB 10.1 (#138)
  • Add ability to specify your own gcomm:// address for Galera replication (#139)
  • Add attribute containing my.cnf sections to configure to allow users to override what cookbook manages
  • Add attributes to configure general and slow log options (#137)
  • Add Docker CI tests (add new APT key to fix #107, add Supermarket version badge and change Travis badge to show master build status to README)
  • Add Docker tests to Travis for smoke tests
  • Change CHANGELOG format to follow Keep a Changelog (v0.3.0)
  • Change Chef search results message log level to debug to remove unnecessary output (#90)
  • Update Vagrant box names to match latest OS versions for testing with VirtualBox
  • Remove Fedora platfrom from Test-Kitchen, not something we'll test on going forward
  • Remove Ubuntu 12.04 LTS from Test-Kitchen, not something we'll test on going forward as it reaches EOL in one month


  • Correct ServerSpec tests
  • Correct some Units tests (Use ServerRunner instead of SoloRunner to test search)
  • Add an option to not install extra packages
  • Update OS version to check with Kitchen


  • Fix fetching apt key on every run bug (#91)
  • Fix Foodcritic and RuboCop offences
  • Fix ChefSpec tests (and adding more coverage)
  • Fix some typos
  • Fix CI
  • Fix non-interpolated array
  • Fix only_if
  • Fix unary operator; ensure script exits on any error
  • Prevent cookbook from crashing Chef < 12
  • Add support for configuring skip-name-resolve
  • Add missing code to my.cnf template to deploy mysqld_safe options
  • Add the ability to config skip-log-bin to be present
  • Add MariaDB 10.1 and data bag support
  • Add exception handling, when searching for data bag
  • Add some mandatory attributes and minor fixes
  • Add test for bin_log unset
  • Add sensitive tag to execute statement
  • Add support to disable binlog (by setting log_bin to false)
  • Apply a more standard .gitignore
  • Update chef components to more recent versions
  • Update documentation for 'options' hash
  • Use Berkshelf 4.x and RVM 2.1.7
  • Remove anonymous users and test database by default


  • Add the ability to configure skip-log-bin to be present (#110)


  • Add missing code to my.cnf template to deploy mysqld_safe options (#125)
  • Add support for configuring skip-name-resolve (#126)


  • Add user and password to correct debian-grants (#57)
  • Correct service name inconsistency on CentOS 7 (#68)
  • Fix directory permissions regression (#73)
  • mariadb_configuration template uses current cookbook as template source (#66)
  • Service is restarted every run if not localhost (#76)
  • Add Scientific Linux support (#69)
  • Add a vagrant config to test a Galera cluster (#64)
  • Add xtrabackup-v2 support for SST Method (#71)
  • Allow Galera cluster nodes to be configured when using Chef Solo (#62)


  • Add support for using operating system shipped mariadb packages


  • Push gpg key adds through http/0 - Helps with firewalled installs (#39)
  • Load the needed plugins at startup (#48)
  • Add cookbook attribute on configuration LWRP (#46)
  • Allow to pass true for unary options (#47)


  • Fix TypeError in the replication provider (#43)
  • Add CentOS support (#38)
  • Add sensitive flag to resource that deal with passwords (#40)


  • Audit Plugin test and installation - Correct bad notifies and stdout test


  • Audit plugin installation can crash mariadb server (#36)


  • Add a switch to not launch audit plugin install, when already installed (#29)
  • Remove the only_if to mysql service (#28)
  • When using Galera, nodes were not sorted, applying configuration change too often (#30)
  • Add more ChefSpec coverage (#31)
  • Add a switch to separate server install and audit install when needed
  • Add a RuboCop rule to allow line length to be 120 characters long


  • Fix convert TypeError in the replication provider (#24)
  • Data is now moved when ['mariadb']['mysqld']['datadir'] is changed (#25)
  • Add audit_plugin management (#31)


  • Fix provider mariadb_replication compilation error (#18)
  • Complete CHANGELOG and correct README


  • Fix the debian-sys-maint user creation/password change (#12)
  • Fix the Galera root password preseed (#11)
  • Add a LWRP to manage replication slave (#16)
  • Add attribute to set custom apt_repository's' base_url (#6)
  • Add new tests for the new features (Galera, development files install, replication LWRP)
  • Add option to skip installing development files within client recipe (#17)
  • Add CHANGELOG and add new feature explanations to README


  • Fix FC004 broken rule (#10)
  • Fix Foodcritic tests (add --epic-fail any to be sure it fails when a broken rule is detected) (#9)


  • Fix management of the mysql root password (#4)
  • Add a lot of ChefSpec and kitchen/ServerSpec tests
  • Add ability to add or remove root remote access via attribute (#7)
  • Add immediate restart of the mysql service when port is changed (#5)
  • Add more documentation


  • Fix and add multiple tests
  • Fix client install to add dev files
  • Fix repository install under Debian family


  • Add stove to package/publish cookbook (remove PaxHeaders)


  • Correct the Documentation
  • Add a recipe to manage client only installation
  • Add RPM/Yum management
  • Refactor all tests to manage new platform (CentOS/RedHat/Fedora)
  • Refactor the whole recipes list and management to ease it
  • Rename the provider (from extraconf to configuration) and add matchers for it


  • Add ignore-failure to debian-grants correct as it can break on initial setup


  • Correct a typo (unnecessary call to run_command)


  • Add new rspec tests
  • Create Kitchen test suite
  • Improve Galera configuration management


  • Improve attributes management


  • Adapt galera55 recipe to use a generic galera recipe
  • Improve documentation
  • Use a generic Galera recipe to create the galera10 recipe


  • Initial release of mariadb

Collaborator Number Metric

4.0.1 passed this metric

Contributing File Metric

4.0.1 passed this metric

Foodcritic Metric

4.0.1 passed this metric

No Binaries Metric

4.0.1 passed this metric

Testing File Metric

4.0.1 passed this metric

Version Tag Metric

4.0.1 passed this metric