cookbook 'mysql-multi', '= 1.4.3'
mysql-multi
(21) Versions
1.4.3
-
Follow2
MySQL replication wrapper cookbook
cookbook 'mysql-multi', '= 1.4.3', :supermarket
knife supermarket install mysql-multi
knife supermarket download mysql-multi
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.
Utilization
This cookbook works as a wrapper around the community MySQL cookbook(version 5.x only)
to allow for the creation of master/slave and master/multi-slave MySQL systems.
*** Special Note:
This cookbook only supports MySQL community recipe version 5.x,
due to version 6.x changes causing major compatibility issues.
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.
Attributes
['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
- Author:: Christopher Coffey (christopher.coffey@rackspace.com)
- Author:: Brint O'Hearn (brint.ohearn@rackspace.com)
- Author:: BK Box (bk@theboxes.org)
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 http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Dependent cookbooks
apt >= 0.0.0 |
chef-sugar >= 0.0.0 |
mysql ~> 5.0 |
openssl >= 0.0.0 |
Contingent cookbooks
mysql-multi Cookbook CHANGELOG
This file is used to list changes made in each version of the mysql-multi
cookbook.
v1.4.3 (2015-05-28)
- Avoid using nil returned from best_ip_for
v1.4.2 (2014-12-05)
- Use fail
instead of Chef::Application.fatal!
in _find_master
so that it can be caught
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.4.3 failed this metric
FC031: Cookbook without metadata file: /tmp/cook/b81da106b1e29ae62b4b0f1a/mysql-multi/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/b81da106b1e29ae62b4b0f1a/mysql-multi/metadata.rb:1
1.4.3 failed this metric
FC045: Consider setting cookbook name in metadata: /tmp/cook/b81da106b1e29ae62b4b0f1a/mysql-multi/metadata.rb:1