cookbook 'mysql', '= 6.0.9'
mysql
(185) Versions
6.0.9
-
-
11.1.9
-
11.1.8
-
11.1.7
-
11.1.6
-
11.1.5
-
11.1.4
-
11.1.3
-
11.1.2
-
11.1.1
-
11.1.0
-
11.0.15
-
11.0.14
-
11.0.13
-
11.0.12
-
11.0.11
-
11.0.10
-
11.0.9
-
11.0.8
-
11.0.7
-
11.0.6
-
11.0.5
-
11.0.4
-
11.0.3
-
11.0.2
-
11.0.1
-
11.0.0
-
10.1.4
-
10.1.3
-
10.1.2
-
10.1.1
-
10.1.0
-
10.0.2
-
10.0.1
-
10.0.0
-
9.0.0
-
8.7.4
-
8.7.3
-
8.7.2
-
8.7.1
-
8.7.0
-
8.6.0
-
8.5.1
-
8.5.0
-
8.4.0
-
8.3.1
-
8.3.0
-
8.2.0
-
8.1.1
-
8.1.0
-
8.0.4
-
8.0.3
-
8.0.2
-
8.0.1
-
8.0.0
-
7.2.0
-
7.1.2
-
7.1.1
-
7.1.0
-
7.0.0
-
6.1.3
-
6.1.2
-
6.1.1
-
6.1.0
-
6.0.31
-
6.0.30
-
6.0.29
-
6.0.28
-
6.0.27
-
6.0.26
-
6.0.25
-
6.0.24
-
6.0.23
-
6.0.22
-
6.0.21
-
6.0.20
-
6.0.19
-
6.0.18
-
6.0.17
-
6.0.16
-
6.0.15
-
6.0.14
-
6.0.13
-
6.0.12
-
6.0.11
-
6.0.10
-
6.0.9
-
6.0.8
-
6.0.7
-
6.0.6
-
6.0.5
-
6.0.4
-
6.0.3
-
6.0.2
-
6.0.1
-
6.0.0
-
5.6.3
-
5.6.2
-
5.6.1
-
5.6.0
-
5.5.4
-
5.5.3
-
5.5.2
-
5.5.1
-
5.5.0
-
5.4.4
-
5.4.3
-
5.4.2
-
5.4.1
-
5.4.0
-
5.3.6
-
5.3.4
-
5.3.2
-
5.3.0
-
5.2.12
-
5.2.10
-
5.2.8
-
5.2.6
-
5.2.4
-
5.2.2
-
5.2.0
-
5.1.12
-
5.1.10
-
5.1.8
-
5.1.6
-
5.1.4
-
5.1.2
-
5.1.0
-
5.0.6
-
5.0.4
-
5.0.2
-
5.0.0
-
4.1.2
-
4.1.1
-
4.1.0
-
4.0.20
-
4.0.18
-
4.0.14
-
4.0.12
-
4.0.10
-
4.0.8
-
4.0.6
-
4.0.4
-
4.0.2
-
4.0.0
-
3.0.12
-
3.0.10
-
3.0.8
-
3.0.6
-
3.0.4
-
3.0.2
-
3.0.0
-
2.1.2
-
2.1.0
-
2.0.2
-
2.0.0
-
1.3.0
-
1.2.6
-
1.2.4
-
1.2.2
-
1.2.1
-
1.0.8
-
1.0.7
-
1.0.6
-
1.0.5
-
1.0.4
-
1.0.3
-
1.0.2
-
1.0.1
-
1.0.0
-
0.24.4
-
0.24.3
-
0.24.2
-
0.24.1
-
0.24.0
-
0.23.1
-
0.23.0
-
0.22.0
-
0.21.5
-
0.21.3
-
0.21.2
-
0.21.1
-
0.21.0
-
0.20.0
-
0.15.0
-
0.10.0
Follow782
- 11.1.9
- 11.1.8
- 11.1.7
- 11.1.6
- 11.1.5
- 11.1.4
- 11.1.3
- 11.1.2
- 11.1.1
- 11.1.0
- 11.0.15
- 11.0.14
- 11.0.13
- 11.0.12
- 11.0.11
- 11.0.10
- 11.0.9
- 11.0.8
- 11.0.7
- 11.0.6
- 11.0.5
- 11.0.4
- 11.0.3
- 11.0.2
- 11.0.1
- 11.0.0
- 10.1.4
- 10.1.3
- 10.1.2
- 10.1.1
- 10.1.0
- 10.0.2
- 10.0.1
- 10.0.0
- 9.0.0
- 8.7.4
- 8.7.3
- 8.7.2
- 8.7.1
- 8.7.0
- 8.6.0
- 8.5.1
- 8.5.0
- 8.4.0
- 8.3.1
- 8.3.0
- 8.2.0
- 8.1.1
- 8.1.0
- 8.0.4
- 8.0.3
- 8.0.2
- 8.0.1
- 8.0.0
- 7.2.0
- 7.1.2
- 7.1.1
- 7.1.0
- 7.0.0
- 6.1.3
- 6.1.2
- 6.1.1
- 6.1.0
- 6.0.31
- 6.0.30
- 6.0.29
- 6.0.28
- 6.0.27
- 6.0.26
- 6.0.25
- 6.0.24
- 6.0.23
- 6.0.22
- 6.0.21
- 6.0.20
- 6.0.19
- 6.0.18
- 6.0.17
- 6.0.16
- 6.0.15
- 6.0.14
- 6.0.13
- 6.0.12
- 6.0.11
- 6.0.10
- 6.0.9
- 6.0.8
- 6.0.7
- 6.0.6
- 6.0.5
- 6.0.4
- 6.0.3
- 6.0.2
- 6.0.1
- 6.0.0
- 5.6.3
- 5.6.2
- 5.6.1
- 5.6.0
- 5.5.4
- 5.5.3
- 5.5.2
- 5.5.1
- 5.5.0
- 5.4.4
- 5.4.3
- 5.4.2
- 5.4.1
- 5.4.0
- 5.3.6
- 5.3.4
- 5.3.2
- 5.3.0
- 5.2.12
- 5.2.10
- 5.2.8
- 5.2.6
- 5.2.4
- 5.2.2
- 5.2.0
- 5.1.12
- 5.1.10
- 5.1.8
- 5.1.6
- 5.1.4
- 5.1.2
- 5.1.0
- 5.0.6
- 5.0.4
- 5.0.2
- 5.0.0
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.20
- 4.0.18
- 4.0.14
- 4.0.12
- 4.0.10
- 4.0.8
- 4.0.6
- 4.0.4
- 4.0.2
- 4.0.0
- 3.0.12
- 3.0.10
- 3.0.8
- 3.0.6
- 3.0.4
- 3.0.2
- 3.0.0
- 2.1.2
- 2.1.0
- 2.0.2
- 2.0.0
- 1.3.0
- 1.2.6
- 1.2.4
- 1.2.2
- 1.2.1
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.24.4
- 0.24.3
- 0.24.2
- 0.24.1
- 0.24.0
- 0.23.1
- 0.23.0
- 0.22.0
- 0.21.5
- 0.21.3
- 0.21.2
- 0.21.1
- 0.21.0
- 0.20.0
- 0.15.0
- 0.10.0
Provides mysql_service, mysql_config, and mysql_client resources
cookbook 'mysql', '= 6.0.9', :supermarket
knife supermarket install mysql
knife supermarket download mysql
MySQL Cookbook
The Mysql Cookbook is a library cookbook that provides resource primitives
(LWRPs) for use in recipes. It is designed to be a reference example for
creating highly reusable cross-platform cookbooks.
Scope
This cookbook is concerned with the "MySQL Community Server",
particularly those shipped with F/OSS Unix and Linux distributions. It
does not address forks or value-added repackaged MySQL distributions
like Drizzle, MariaDB, or Percona.
Requirements
- Chef 11 or higher
- Ruby 1.9 or higher (preferably from the Chef full-stack installer)
- Network accessible package repositories
- 'recipe[selinux::disabled]' on RHEL platforms
Platform Support
The following platforms have been tested with Test Kitchen:
|----------------+-----+-----+-----+-----+-----|
| | 5.0 | 5.1 | 5.5 | 5.6 | 5.7 |
|----------------+-----+-----+-----+-----+-----|
| debian-7 | | | X | | |
|----------------+-----+-----+-----+-----+-----|
| ubuntu-10.04 | | X | | | |
|----------------+-----+-----+-----+-----+-----|
| ubuntu-12.04 | | | X | | |
|----------------+-----+-----+-----+-----+-----|
| ubuntu-14.04 | | | X | X | |
|----------------+-----+-----+-----+-----+-----|
| centos-5 | X | X | X | X | X |
|----------------+-----+-----+-----+-----+-----|
| centos-6 | | X | X | X | X |
|----------------+-----+-----+-----+-----+-----|
| centos-7 | | | X | X | X |
|----------------+-----+-----+-----+-----+-----|
| amazon | | | X | X | X |
|----------------+-----+-----+-----+-----+-----|
| fedora-20 | | | X | X | X |
|----------------+-----+-----+-----+-----+-----|
| suse-11.3 | | | X | | |
|----------------+-----+-----+-----+-----+-----|
| omnios-151006 | | | X | X | |
|----------------+-----+-----+-----+-----+-----|
| smartos-14.3.0 | | | X | X | |
|----------------+-----+-----+-----+-----+-----|
Cookbook Dependencies
- yum-mysql-community
- smf
Usage
Place a dependency on the mysql cookbook in your cookbook's metadata.rb
ruby
depends 'mysql', '~> 6.0'
Then, in a recipe:
mysql_service 'default' do port '3306' version '5.5' initial_root_password 'change me' action [:create, :start] end mysql_config 'default' do source 'mysite.cnf.erb' notifies :restart, 'mysql_service[default]' action :create end
Resources Overview
mysql_service
The mysql_service
resource manages the basic plumbing needed to get a
MySQL server instance running with minimal configuration.
The :create
action handles package installation, support
directories, socket files, and other operating system level concerns.
The internal configuration file contains just enough to get the
service up and running, then loads extra configuration from a conf.d
directory. Further configurations are managed with the mysql_config
resource.
- If the
data_dir
is empty, a database will be initialized, and a root user will be set up withinitial_root_password
. If this directory already contains database files, no action will be taken.
The :start
action starts the service on the machine using the
appropriate provider for the platform. The :start
action should be
omitted when used in recipes designed to build containers.
Example
mysql_service 'default' do version '5.7' bind_address '0.0.0.0' port '3306' data_dir '/data' initial_root_password 'Ch4ng3me' action [:create, :start] end
Please note that when using notifies
or subscribes
, the resource
to reference is mysql_service[name]
, not service[mysql]
.
Parameters
charset
- specifies the default character set. Defaults toutf8
.data_dir
- determines where the actual data files are kept
on the machine. This is useful when mounting external storage. When
omitted, it will default to the platform's native location.initial_root_password
- allows the user to specify the initial
root password for mysql when initializing new databases.
This can be set explicitly in a recipe, driven from a node
attribute, or from data_bags. When omitted, it defaults to
ilikerandompasswords
. Please be sure to change it.instance
- A string to identify the MySQL service. By convention,
to allow for multiple instances of themysql_service
, directories
and files on disk are namedmysql-<instance_name>
. Defaults to the
resource name.package_action
- Defaults to:install
.package_name
- Defaults to a value looked up in an internal map.package_version
- Specific version of the package to install,
passed onto the underlying package manager. Defaults tonil
.bind_address
- determines the listen IP address for the mysqld service. When
omitted, it will be determined by MySQL. If the address is "regular" IPv4/IPv6
address (e.g 127.0.0.1 or ::1), the server accepts TCP/IP connections only for
that particular address. If the address is "0.0.0.0" (IPv4) or "::" (IPv6), the
server accepts TCP/IP connections on all IPv4 or IPv6 interfaces.port
- determines the listen port for the mysqld service. When
omitted, it will default to '3306'.run_group
- The name of the system group themysql_service
should run as. Defaults to 'mysql'.run_user
- The name of the system user themysql_service
should
run as. Defaults to 'mysql'.version
- allows the user to select from the versions available
for the platform, where applicable. When omitted, it will install
the default MySQL version for the target platform. Available version
numbers are5.0
,5.1
,5.5
,5.6
, and5.7
, depending on platform.
Actions
-
:create
- Configures everything but the underlying operating system service. -
:delete
- Removes everything but the package and data_dir. -
:start
- Starts the underlying operating system service -
:stop
- Stops the underlying operating system service -
:restart
- Restarts the underlying operating system service -
:reload
- Reloads the underlying operating system service
Providers
Chef selects the appropriate provider based on platform and version,
but you can specify one if your platform support it.
mysql_service[instance-1] do port '1234' data_dir '/mnt/lottadisk' provider Chef::Provider::MysqlService::Sysvinit action [:create, :start] end
Chef::Provider::MysqlService
- Configures everything needed t run
a MySQL service except the platform service facility. This provider
should never be used directly. The:start
,:stop
,:restart
, and
:reload
actions are stubs meant to be overridden by the providers
below.Chef::Provider::MysqlService::Smf
- Starts amysql_service
using
the Service Management Facility, used by Solaris and IllumOS. Manages
the FMRI and method script.Chef::Provider::MysqlService::Systemd
- Starts amysql_service
using SystemD. Manages the unit file and activation stateChef::Provider::MysqlService::Sysvinit
- Starts amysql_service
using SysVinit. Manages the init script and status.Chef::Provider::MysqlService::Upstart
- Starts amysql_service
using Upstart. Manages job definitions and status.
mysql_config
The mysql_config
resource is a wrapper around the core Chef
template
resource. Instead of a path
parameter, it uses the
instance
parameter to calculate the path on the filesystem where
file is rendered.
Example
mysql_config[default] do source 'site.cnf.erb' action :create end
Parameters
config_name
- The base name of the configuration file to be
rendered into the conf.d directory on disk. Defaults to the resource
name.cookbook
- The name of the cookbook to look for the template
source. Defaults to nilgroup
- System group for file ownership. Defaults to 'mysql'.instance
- Name of themysql_service
instance the config is
meant for. Defaults to 'default'.owner
- System user for file ownership. Defaults to 'mysql'.source
- Template in cookbook to be rendered.variables
- Variables to be passed to the underlyingtemplate
resource.version
- Version of themysql_service
instance the config is
meant for. Used to calculate path. Only necessary when using
packages with unique configuration paths, such as RHEL Software
Collections or OmniOS. Defaults to 'nil'
Actions
:create
- Renders the template to disk at a path calculated using
the instance parameter.:delete
- Deletes the file from the conf.d directory calculated
using the instance parameter.
More Examples
mysql_service 'instance-1' do action [:create, :start] end mysql_service 'instance-2' do action [:create, :start] end mysql_config 'logging' do instance 'instance-1' source 'logging.cnf.erb' action :create notifies :restart, 'mysql_service[instance-1]' end mysql_config 'security settings for instance-2' do config_name 'security' instance 'instance-2' source 'security_stuff.cnf.erb' variables(:foo => 'bar') action :create notifies :restart, 'mysql_service[instance-2]' end
mysql_client
The mysql_client
resource manages the MySQL client binaries and
development libraries.
It is an example of a "singleton" resource. Declaring two
mysql_client
resources on a machine usually won't yield two separate
copies of the client binaries, except for platforms that support
multiple versions (RHEL SCL, OmniOS).
Example
mysql_client 'default' do action :create end
Parameters
package_name
- An array of packages to be installed. Defaults to a
value looked up in an internal map.package_version
- Specific versions of the package to install,
passed onto the underlying package manager. Defaults tonil
.version
- Major MySQL version number of client packages. Only
valid on for platforms that support multiple versions, such as RHEL
via Software Collections and OmniOS.
Actions
-
:create
- Installs the client software -
:delete
- Removes the client software
Advanced Usage Examples
There are a number of configuration scenarios supported by the use of
resource primitives in recipes. For example, you might want to run
multiple MySQL services, as different users, and mount block devices
that contain pre-existing databases.
Multiple Instances as Different Users
# instance-1 user 'alice' do action :create end directory '/mnt/data/mysql/instance-1' do owner 'alice' action :create end mount '/mnt/data/mysql/instance-1' do device '/dev/sdb1' fstype 'ext4' action [:mount, :enable] end mysql_service 'instance-1' do port '3307' run_user 'alice' data_dir '/mnt/data/mysql/instance-1' action [:create, :start] end mysql_config 'site config for instance-1' do instance 'instance-1' source 'instance-1.cnf.erb' notifies :restart, 'mysql_service[instance-1]' end # instance-2 user 'bob' do action :create end directory '/mnt/data/mysql/instance-2' do owner 'bob' action :create end mount '/mnt/data/mysql/instance-2' do device '/dev/sdc1' fstype 'ext3' action [:mount, :enable] end mysql_service 'instance-2' do port '3308' run_user 'bob' data_dir '/mnt/data/mysql/instance-2' action [:create, :start] end mysql_config 'site config for instance-2' do instance 'instance-2' source 'instance-2.cnf.erb' notifies :restart, 'mysql_service[instance-2]' end
Replication Testing
Use multiple mysql_service
instances to test a replication setup.
This particular example serves as a smoke test in Test Kitchen because
it exercises different resources and requires service restarts.
Frequently Asked Questions
How do I run this behind my firewall?
On Linux, the mysql_service
resource uses the platform's underlying
package manager to install software. For this to work behind
firewalls, you'll need to either:
- Configure the system yum/apt utilities to use a proxy server that can reach the Internet
- Host a package repository on a network that the machine can talk to
On the RHEL platform_family, applying the yum::default
recipe will
allow you to drive the yum_globalconfig
resource with attributes to
change the global yum proxy settings.
If hosting repository mirrors, applying one of the following recipes
and adjust the settings with node attributes.
recipe[yum-centos::default]
from the Supermarket
https://supermarket.chef.io/cookbooks/yum-centos
https://github.com/opscode-cookbooks/yum-centosrecipe[yum-mysql-community::default]
from the Supermarket
https://supermarket.chef.io/cookbooks/yum-mysql-community
https://github.com/opscode-cookbooks/yum-mysql-community
The mysql command line doesn't work
If you log into the machine and type mysql
, you may see an error
like this one:
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
To connect to a database from the command line, you'll need to specify
additional flags and connect over the network..
mysql -h 127.0.0.1 -Pwhatever
What about MariaDB, Percona, Drizzle, WebScaleSQL, etc.
MySQL forks are purposefully out of scope for this cookbook. This is
mostly to reduce the testing matrix to a manageable size. Cookbooks
for these technologies can easily be created by copying and adapting
this cookbook. However, there will be differences.
Package repository locations, package version names, software major
version numbers, supported platform matrices, and the availability of
software such as XtraDB and Galera are the main reasons that creating
multiple cookbooks to make sense.
Hacking / Testing / TODO
Please refer to the HACKING.md
License & Authors
- Author:: Joshua Timberman (joshua@opscode.com)
- Author:: AJ Christensen (aj@opscode.com)
- Author:: Seth Chisamore (schisamo@opscode.com)
- Author:: Brian Bianco (brian.bianco@gmail.com)
- Author:: Jesse Howarth (him@jessehowarth.com)
- Author:: Andrew Crump (andrew@kotirisoftware.com)
- Author:: Christoph Hartmann (chris@lollyrock.com)
- Author:: Sean OMeara (sean@chef.io)
Copyright:: 2009-2014 Chef Software, 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.
mysql Cookbook CHANGELOG
v6.0.9 (2015-01-19)
- Fix #282 undefined method `parsed_data_dir' bug
v6.0.8 (2015-01-19)
- Refactoring helper methods out of resource classes
v6.0.7 (2015-01-14)
- Fixing timing issue with Upstart provider :restart and :reload actions where service returns before being available
v6.0.6 (2014-12-26)
- Fixing subtle bug where MysqlCookbook::Helper methods were polluting Chef::Resource
v6.0.5 (2014-12-25)
- Using 'include_recipe' instead of 'recipe_eval' in LWRP
- Fixing type checking on package_name attribute in mysql_client resource.
v6.0.4 (2014-12-21)
- Suggest available versions if current is not available for current platform.
v6.0.3 (2014-12-17)
- Adding bind_address parameter to mysql_service resource
v6.0.2 (2014-12-17)
- Fixing sysvinit provider to survive reboots
v6.0.1 (2014-12-16)
- Fixing Upstart template to survive reboots
v6.0.0 (2014-12-15)
- Major version update
- Cookbook now provides LWRPs instead of recipes
- Platform providers re-factored into init system providers
- Separated :create and :start actions for use in recipes that build containers
- mysql_service now supports multiple instances on the same machine
- mysql_service no longer attempts to manage user records
- Removal of debian-sys-maint
- Unified Sysvinit script that works on all platforms
- mysql_config resource introduced
- mysql_client fixed up
- Refactored acceptance tests
- Temporarily dropped FreeBSD support
v5.6.1 (2014-10-29)
- Use Gem::Version instead of Chef::Version
v5.6.0 (2014-10-29)
- Changing default charset to utf8
- Quoting passwords in debian.cnf.erb
- Amazon 2014.09 support
- Ubuntu 14.10 support
- Only hide passwords from STDOUT via "sensitive true" in chef-client higher than 11.14
- Updating test harness
v5.5.4 (2014-10-07)
- Adding sensitive flag to execute resources to protect passwords from logs
v5.5.3 (2014-09-24)
- Reverting back to Upstart on Ubuntu 14.04
v5.5.2 (2014-09-8)
- Reverting commit that broke Debian pass_string
v5.5.1 (2014-09-2)
- Switching Ubuntu service provider to use SysVinit instead of Upstart
v5.5.0 (2014-08-27)
- Adding package version and action parameters to mysql_service resource
- Fixing Debian pass_string
v5.4.4 (2014-08-27)
- Changing module namespace to MysqlCookbook
v5.4.3 (2014-08-25)
- More refactoring. Moving helper function bits into resource parsed_parameters
v5.4.2 (2014-08-25)
- Moving provider local variables into definitions for RHEL provider
v5.4.1 (2014-08-25)
- Refactoring resources into the LWRP style with parsed parameters
- Moving provider local variables into definitions
v5.4.0 (2014-08-25)
- #212 - support for centos-7 (mysql55 and mysql56)
- Adding (untested) Debian-6 support
- Adding Suse support to metadata.rb
- Adding ability to change MySQL root password
- Added libmysqlclient-devel package to SuSE client provider
- Appeasing AppArmor
- Reducing duplication in client provider
v5.3.6 (2014-06-18)
- Fixing pid path location. Updating tests to include real RHEL
v5.3.4 (2014-06-16)
- Fixing specs for Amazon Linux server package names
v5.3.2 (2014-06-16)
- Fixing Amazon Linux support
v5.3.0 (2014-06-11)
- #189 - Fix server_repl_password description
- #191 - Adding support for server55 and server56 on el-6
- #193 - Fix syntax in mysql_service example
- #199 - Adding Suse support
v5.2.12 (2014-05-19)
PR #192 - recipes/server.rb should honor parameter node['mysql']['version']
v5.2.10 (2014-05-15)
- COOK-4394 - restore freebsd support
v5.2.8 (2014-05-15)
- [COOK-4653] - Missing mySQL 5.6 support for Ubuntu 14.04
v5.2.6 (2014-05-07)
- [COOK-4625] - Fix password resource parameter consumption on Debian and Ubuntu
- Fix up typos and version numbers in PLATFORMS.md
- Fix up specs from COOK-4613 changes
v5.2.4 (2014-05-02)
- [COOK-4613] - Fix permissions on mysql data_dir to allow global access to mysql.sock
v5.2.2 (2014-04-24)
- [COOK-4564] - Using positive tests for datadir move
v5.2.0 (2014-04-22)
- [COOK-4551] - power grants.sql from resource parameters
v5.1.12 (2014-04-21)
- [COOK-4554] - Support for Debian Sid
v5.1.10 (2014-04-21)
- [COOK-4565] Support for Ubuntu 14.04
- [COOK-4565] Adding Specs and TK platform
- Removing non-LTS 13.10 specs and TK platform
v5.1.8 (2014-04-12)
Adding Ubuntu 13.04 to Platforminfo
v5.1.6 (2014-04-11)
- [COOK-4548] - Add template[/etc/mysql/debian.cnf] to Ubuntu provider
v5.1.4 (2014-04-11)
- [COOK-4547] - Shellescape server_root_password
v5.1.2 (2014-04-09)
- [COOK-4519] - Fix error in run_dir for Ubuntu
- [COOK-4531] - Fix pid and run_dir for Debian
v5.1.0 (2014-04-08)
[COOK-4523] - Allow for both :restart and :reload
v5.0.6 (2014-04-07)
- [COOK-4519] - Updating specs to reflect pid file change on Ubuntu
v5.0.4 (2014-04-07)
- [COOK-4519] - Fix path to pid file on Ubuntu
v5.0.2 (2014-04-01)
- Moving server_deprecated into recipes directory
v5.0.0 (2014-03-31)
- Rewriting as a library cookbook
- Exposing mysql_service and mysql_client resources
- User now needs to supply configuration
- Moving attribute driven recipe to server-deprecated
v4.1.2 (2014-02-28)
- [COOK-4349] - Fix invalid platform check
- [COOK-4184] - Better handling of Ubuntu upstart service
- [COOK-2100] - Changing innodb_log_file_size tunable results in inability to start MySQL
v4.1.1 (2014-02-25)
- **[COOK-2966] - Address foodcritic failures'
- **[COOK-4182] - Template parse failure in /etc/init/mysql.conf (data_dir)'
- **[COOK-4198] - Added missing tunable'
- **[COOK-4206] - create root@127.0.0.1, as well as root@localhost'
v4.0.20 (2014-01-18)
- [COOK-3931] - MySQL Server Recipe Regression for Non-LTS Ubuntu Versions
- [COOK-3945] - MySQL cookbook fails on Ubuntu 13.04/13.10
- [COOK-3966] - mysql::server recipe can't find a template with debian 7.x
- [COOK-3985] - Missing /etc/mysql/debian.cnf template on mysql::_server_debian.rb recipe (mysql 4.0.4)
- [COOK-3974] - debian.cnf not updated
- [COOK-4001] - Pull request: Fixes for broken mysql::server on Debian
- [COOK-4071] - Mysql cookbook doesn't work on debian 7.2
v4.0.14
Fixing style cops
v4.0.12
Bug
- COOK-4068 - rework MySQL Windows recipe
Improvement
- COOK-3801 - Add innodb_adaptive_flushing_method and innodb_adaptive_checkpoint
v4.0.10
fixing metadata version error. locking to 3.0
v4.0.8
Locking yum dependency to '< 3'
v4.0.6
Bug
- [COOK-3943] Notifying service restart on grants update
v4.0.4
[COOK-3952] - Adding 'recursive true' to directory resources
v4.0.2
BUGS
- Adding support for Amazon Linux in attributes/server_rhel.rb
- Fixing bug where unprivileged users cannot connect over a local socket. Adding integration test.
- Fixing bug in mysql_grants_cmd generation
v4.0.0
- [COOK-3928] Heavily refactoring for readability. Moving platform implementation into separate recipes
- Moving integration tests from minitest to serverspec, removing "improper" tests
- Moving many attributes into the ['mysql']['server']['whatever'] namespace
- [COOK-3481] - Merged Lucas Welsh's Windows bits and moved into own recipe
- [COOK-3697] - Adding security hardening attributes
- [COOK-3780] - Fixing data_dir on Debian and Ubuntu
- [COOK-3807] - Don't use execute[assign-root-password] on Debian and Ubuntu
- [COOK-3881] - Fixing /etc being owned by mysql user
v3.0.12
Bug
- COOK-3752 - mysql service fails to start in mysql::server recipe
v3.0.10
- Fix a failed release attempt for v3.0.8
v3.0.8
Bug
- COOK-3749 - Fix a regression with Chef 11-specific features
v3.0.6
Bug
-
COOK-3674 - Fix an issue where the MySQL server fails to set the root password correctly when
data_dir
is a non-default value - COOK-3647 - Fix README typo (databas => database)
- COOK-3477 - Fix log-queries-not-using-indexes not working
- COOK-3436 - Pull percona repo in compilation phase
- COOK-3208 - Fix README typo (LitenPort => ListenPort)
- COOK-3149 - Create my.cnf before installing
- COOK-2681 - Fix log_slow_queries for 5.5+
- COOK-2606 - Use proper bind address on cloud providers
Improvement
- COOK-3498 - Add support for replicate_* variables in my.cnf
v3.0.4
Bug
-
COOK-3310 - Fix missing
GRANT
option - COOK-3233 - Fix escaping special characters
-
COOK-3156 - Fix GRANTS file when
remote_root_acl
is specified - COOK-3134 - Fix Chef 11 support
-
COOK-2318 - Remove redundant
if
block aroundnode.mysql.tunable.log_bin
v3.0.2
Bug
- [COOK-2158]: apt-get update is run twice at compile time
- [COOK-2832]: mysql grants.sql file has errors depending on attrs
- [COOK-2995]: server.rb is missing a platform_family comparison value
Sub-task
- [COOK-2102]:
innodb_flush_log_at_trx_commit
value is incorrectly set based on CPU count
v3.0.0
Note This is a backwards incompatible version with previous versions of the cookbook. Tickets that introduce incompatibility are COOK-2615 and COOK-2617.
- [COOK-2478] - Duplicate 'read_only' server attribute in base and tunable
- [COOK-2471] - Add tunable to set slave_compressed_protocol for reduced network traffic
- [COOK-1059] - Update attributes in mysql cookbook to support missing options for my.cnf usable by Percona
- [COOK-2590] - Typo in server recipe to do with conf_dir and confd_dir
- [COOK-2602] - Add
lower_case_table_names
tunable - [COOK-2430] - Add a tunable to create a network ACL when allowing
remote_root_access
- [COOK-2619] - mysql: isamchk deprecated
- [COOK-2515] - Better support for SUSE distribution for mysql cookbook
- [COOK-2557] - mysql::percona_repo attributes missing and key server typo
- [COOK-2614] - Duplicate
innodb_file_per_table
- [COOK-2145] - MySQL cookbook should remove anonymous and password less accounts
- [COOK-2553] - Enable include directory in my.cnf template for any platform
- [COOK-2615] - Rename
key_buffer
tokey_buffer_size
- [COOK-2626] - Percona repo URL is being constructed incorrectly
- [COOK-2616] - Unneeded attribute thread_cache
- [COOK-2618] - myisam-recover not using attribute value
- [COOK-2617] - open-files is a duplicate of open-files-limit
v2.1.2
- [COOK-2172] - Mysql cookbook duplicates
binlog_format
configuration
v2.1.0
- [COOK-1669] - Using platform("ubuntu") in default attributes always returns true
- [COOK-1694] - Added additional my.cnf fields and reorganized cookbook to avoid race conditions with mysql startup and sql script execution
- [COOK-1851] - Support server-id and binlog_format settings
- [COOK-1929] - Update msyql server attributes file because setting attributes without specifying a precedence is deprecated
- [COOK-1999] - Add read_only tunable useful for replication slave servers
v2.0.2
- [COOK-1967] - mysql: trailing comma in server.rb platform family
v2.0.0
Important note for this release
Under Chef Solo, you must set the node attributes for the root, debian and repl passwords or the run will completely fail. See COOK-1737 for background on this.
- [COOK-1390] - MySQL service cannot start after reboot
- [COOK-1610] - Set root password outside preseed (blocker for drop-in mysql replacements)
- [COOK-1624] - Mysql cookbook fails to even compile on windows
- [COOK-1669] - Using platform("ubuntu") in default attributes always returns true
- [COOK-1686] - Add mysql service start
- [COOK-1687] - duplicate
innodb_buffer_pool_size
attribute - [COOK-1704] - mysql cookbook fails spec tests when minitest-handler cookbook enabled
- [COOK-1737] - Fail a chef-solo run when
server_root_password
,server_debian_password
, and/orserver_repl_password
is not set - [COOK-1769] - link to database recipe in mysql README goes to old opscode/cookbooks repo instead of opscode-cookbook organization
- [COOK-1963] - use
platform_family
v1.3.0
Important note for this release
This version no longer installs Ruby bindings in the client recipe by default. Use the ruby recipe if you'd like the RubyGem. If you'd like packages from your distribution, use them in your application's specific cookbook/recipe, or modify the client packages attribute. This resolves the following tickets:
- COOK-932
- COOK-1009
- COOK-1384
Additionally, this cookbook now has tests (COOK-1439) for use under test-kitchen.
The following issues are also addressed in this release.
- [COOK-1443] - MySQL (>= 5.1.24) does not support
innodb_flush_method
= fdatasync - [COOK-1175] - Add Mac OS X support
- [COOK-1289] - handle additional tunable attributes
- [COOK-1305] - add auto-increment-increment and auto-increment-offset attributes
- [COOK-1397] - make the port an attribute
- [COOK-1439] - Add MySQL cookbook tests for test-kitchen support
- [COOK-1236] - Move package names into attributes to allow percona to free-ride
- [COOK-934] - remove deprecated mysql/libraries/database.rb, use the database cookbook instead.
- [COOK-1475] - fix restart on config change
v1.2.6
- [COOK-1113] - Use an attribute to determine if upstart is used
- [COOK-1121] - Add support for Windows
- [COOK-1140] - Fix conf.d on Debian
- [COOK-1151] - Fix server_ec2 handling /var/lib/mysql bind mount
- [COOK-1321] - Document setting password attributes for solo
v1.2.4
- [COOK-992] - fix FATAL nameerror
- [COOK-827] -
mysql:server_ec2
recipe can't mountdata_dir
- [COOK-945] - FreeBSD support
v1.2.2
- [COOK-826] mysql::server recipe doesn't quote password string
- [COOK-834] Add 'scientific' and 'amazon' platforms to mysql cookbook
v1.2.1
- [COOK-644] Mysql client cookbook 'package missing' error message is confusing
- [COOK-645] RHEL6/CentOS6 - mysql cookbook contains 'skip-federated' directive which is unsupported on MySQL 5.1
v1.2.0
- [COOK-684] remove mysql_database LWRP
v1.0.8
- [COOK-633] ensure "cloud" attribute is available
v1.0.7
- [COOK-614] expose all mysql tunable settings in config
- [COOK-617] bind to private IP if available
v1.0.6
- [COOK-605] install mysql-client package on ubuntu/debian
v1.0.5
- [COOK-465] allow optional remote root connections to mysql
- [COOK-455] improve platform version handling
- externalize conf_dir attribute for easier cross platform support
- change datadir attribute to data_dir for consistency
v1.0.4
- fix regressions on debian platform
- [COOK-578] wrap root password in quotes
- [COOK-562] expose all tunables in my.cnf
Foodcritic Metric
6.0.9 failed this metric
FC005: Avoid repetition of resource declarations: /tmp/cook/47c9f1534553e14ffba802b6/mysql/libraries/provider_mysql_service.rb:77
FC031: Cookbook without metadata file: /tmp/cook/47c9f1534553e14ffba802b6/mysql/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/47c9f1534553e14ffba802b6/mysql/metadata.rb:1
6.0.9 failed this metric
FC031: Cookbook without metadata file: /tmp/cook/47c9f1534553e14ffba802b6/mysql/metadata.rb:1
FC045: Consider setting cookbook name in metadata: /tmp/cook/47c9f1534553e14ffba802b6/mysql/metadata.rb:1