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


mysql-multi (21) Versions 1.3.5

MySQL replication wrapper cookbook

cookbook 'mysql-multi', '= 1.3.5'
cookbook 'mysql-multi', '= 1.3.5', :supermarket
knife cookbook site install mysql-multi
knife cookbook site download mysql-multi


Chef wrapper cookbook to create master/slave MySQL server setups. This wrapper should work on all Debian and RHEL platform family OS's.


Cookbook works as a wrapper around the community MySQL cookbook to allow for the creation of master/slave and master/multi-slave MySQL systems.

The cookbook utilizes two recipes depending on the server's role.

mysql_master.rb : sets up a master MySQL server and creates replicant users for each slave node definded within attributes.

Search will look for the node(s) in the same environment with the tag mysql_slave and grant the allowed replicating node(s). If you do not want to use search, create the slave node(s) first before bootstrapping, and set the attribute ['mysql-multi']['master'] with the correct IP array.

mysql_slave.rb : sets up a slave MySQL server pointing to the master node definded within attributes.

Search will look for the node in the same environment with the tag mysql_master and set master replication to that node. If you do not want to use search, create the master node first before bootstrapping, and set the attribute ['mysql-multi']['master'] with the correct IP.


['mysql-multi']['master'] : sets the IP address that defines the master node

['mysql-multi']['slaves'] : is any array that defines the IP address(es) of the slave node(s).

['mysql-multi']['slave_user'] : allows for the setting of a custom name for the slave MySQL user, by default it is set to 'replicant'.

['mysql-multi']['server_repl_password'] : is set to match

['mysql-multi']['bind_ip'] is an override for the logic that determines the best bind_address for mysql. Allowing you to set it to whatever is needed for your specific configuration.

License & Authors

Copyright:: 2014 Rackspace US, Inc

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

mysql-multi Cookbook CHANGELOG

This file is used to list changes made in each version of the mysql-multi cookbook.

v1.3.3 (2014-08-27) - Set the slave root password to match master since the sync will change it (Issue #21) - Fix serverspec tests. (PR #22)

v1.3.2 (2014-08-01) - Don't fail hard on solo runs without proper attribute config - Better logic for error checking on empty slaves - Throw a warning with no slaves instead of raising a fatal - Set up mysql_service with upstream attribute options to allow overriding

v1.3.1 (2014-07-28) - Clean up search logic - Handle array result from search for master

v1.3.0 (2014-07-25) - Add Travis-CI testing - Add supported OS in metadata - Updated search logic

v1.2.2 (2014-07-15)

  • Fix attribute typo (#10)

v1.2.1 (2014-07-11)

  • Create a proper array so we don't run into nil issues (#8)
  • Fix bug preventing mulitiple slaves (#9)

v1.2.0 (2014-07-08)

  • Add search functionality
  • Add 100% coverage in ChefSpec

Foodcritic Metric

1.3.5 passed this metric