cookbook 'mysql', '= 10.1.2'
mysql
(182) Versions
10.1.2
-
-
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
Follow781
- 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', '= 10.1.2', :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 MariaDB or Percona.
Maintainers
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 sous-chefs.org or come chat with us on the Chef Community Slack in #sous-chefs.
Requirements
- Chef 12.7 or higher
- Network accessible package repositories
- 'recipe[selinux::disabled]' on RHEL platforms
Platform Support
The following platforms have been tested with Test Kitchen:
OS | 5.6 | 5.7 | 8.0 |
---|---|---|---|
centos-7 | X | X | X |
centos-8 | X | X | |
debian-9 | X | ||
debian-10 | X | ||
fedora | X | X | X |
openSUSE Leap | X | ||
ubuntu-18.04 | X | ||
ubuntu-20.04 | X |
Cookbook Dependencies
There are no hard coupled dependencies. However, there is a loose dependency on yum-mysql-community
for RHEL/CentOS platforms. As of the 8.0 version of this cookbook, configuration of the package repos is now the responsibility of the user.
Usage
Place a dependency on the mysql cookbook in your cookbook's metadata.rb
depends 'mysql'
Then, in a recipe:
mysql_service 'foo' do port '3306' version '8.0' initial_root_password 'change me' action [:create, :start] end
The service name on the OS is mysql-foo
. You can manually start and stop it with service mysql-foo start
and service mysql-foo stop
.
If you use default
as the name the service name will be mysql
instead of mysql-default
.
The configuration file is at /etc/mysql-foo/my.cnf
. It contains the minimum options to get the service running. It looks like this.
# Chef generated my.cnf for instance mysql-foo [client] default-character-set = utf8 port = 3306 socket = /var/run/mysql-foo/mysqld.sock [mysql] default-character-set = utf8 [mysqld] user = mysql pid-file = /var/run/mysql-foo/mysqld.pid socket = /var/run/mysql-foo/mysqld.sock port = 3306 datadir = /var/lib/mysql-foo tmpdir = /tmp log-error = /var/log/mysql-foo/error.log !includedir /etc/mysql-foo/conf.d [mysqld_safe] socket = /var/run/mysql-foo/mysqld.sock
You can put extra configuration into the conf.d directory by using the mysql_config
resource, like this:
mysql_service 'foo' do port '3306' version '8.0' initial_root_password 'change me' action [:create, :start] end mysql_config 'foo' do source 'my_extra_settings.erb' instance 'foo' notifies :restart, 'mysql_service[foo]' action :create end
You are responsible for providing my_extra_settings.erb
in your own cookbook's templates folder. The name of the mysql service instance must be provided in mysql config as this defaults to 'default'.
Connecting with the mysql CLI command
Logging into the machine and typing mysql
with no extra arguments will fail. You need to explicitly connect over the socket with mysql -S /var/run/mysql-foo/mysqld.sock
, or over the network with mysql -h 127.0.0.1
Upgrading from older version of the mysql cookbook
- It is strongly recommended that you rebuild the machine from scratch. This is easy if you have your
data_dir
on a dedicated mount point. If you must upgrade in-place, follow the instructions below. - The 6.x series supports multiple service instances on a single machine. It dynamically names the support directories and service names.
/etc/mysql becomes /etc/mysql-instance_name
. Other support directories in/var
/run
etc work the same way. Make sure to specify thedata_dir
property on themysql_service
resource to point to the old/var/lib/mysql
directory.
Resources
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/chef-cookbooks/yum-centos
-
recipe[yum-mysql-community::default]
from the Supermarket
https://supermarket.chef.io/cookbooks/yum-mysql-community
https://github.com/chef-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'
This is because MySQL is hardcoded to read the defined default my.cnf file, typically at /etc/my.cnf, and this LWRP deletes it to prevent overlap among multiple MySQL configurations.
To connect to the socket from the command line, check the socket in the relevant my.cnf file and use something like this:
mysql -S /var/run/mysql-foo/mysqld.sock -Pwhatever
Or to connect over the network, use something like this: connect over the network..
mysql -h 127.0.0.1 -Pwhatever
These network or socket ssettings can also be put in you $HOME/.my.cnf, if preferred.
What about MariaDB, Percona, 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.
There are existing cookbooks to carter for these forks, check them out on the supermarket
Contributors
This project exists thanks to all the people who contribute.
Backers
Thank you to all our backers!
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website.
Changelog
All notable changes to this project will be documented in this file.
10.1.2 - 2021-03-26
- Fix ctrl_user always set as root for mysql_user resource
10.1.1 - 2021-03-11
- Fix db initialization status correctly on MySQL 8.0
10.1.0 - 2021-03-11
- Add dependency on apparmor cookbook to fix #660
10.0.2 - 2021-02-25
- Update README.md to reflect dropping ubuntu 16.04 support and fixing the cookbook version in the usage section
10.0.1 - 2021-01-25
10.0.0 - 2021-01-25
- Add
mysql_database
resource for creating, querying and removing databases - Add
mysql_user
resource for creating, modifying and removing database users - Remove Ubuntu 16.04 support
9.0.0 - 2020-11-27
- resolved cookstyle error: libraries/helpers.rb:201:9 convention:
Style/CommentAnnotation
- Add support for MySQL 8
- Add support for CentOS 8 and Ubuntu 20.04
- Remove support for MySQL 5.1 and 5.5
- Remove support for Centos 6 and Ubuntu 14.04
8.7.4 - 2020-09-16
- resolved cookstyle error: spec/mysql_client_installation_package_spec.rb:4:48 warning:
ChefDeprecations/DeprecatedChefSpecPlatform
- resolved cookstyle error: spec/mysql_server_installation_package_spec.rb:4:48 warning:
ChefDeprecations/DeprecatedChefSpecPlatform
- Use mysql_test cookbook attributes for testing
- Cookstyle Bot Auto Corrections with Cookstyle 6.17.6
8.7.3 - 2020-07-22
- restore resource_name in mysql_service for Chef Infra Client < 16
- resolved cookstyle error: libraries/mysql_client_installation_package.rb:8:5 warning:
ChefDeprecations/ResourceUsesOnlyResourceName
- resolved cookstyle error: libraries/mysql_client_installation_package.rb:9:1 convention:
Layout/IndentationConsistency
- resolved cookstyle error: libraries/mysql_client_installation_package.rb:9:1 convention:
Layout/IndentationWidth
- resolved cookstyle error: libraries/mysql_client_installation_package.rb:9:3 convention:
Layout/IndentationWidth
- resolved cookstyle error: libraries/mysql_client_installation_package.rb:9:9 convention:
Layout/IndentationConsistency
- resolved cookstyle error: libraries/mysql_server_installation_package.rb:4:5 warning:
ChefDeprecations/ResourceUsesOnlyResourceName
- resolved cookstyle error: libraries/mysql_server_installation_package.rb:5:1 convention:
Layout/IndentationConsistency
- resolved cookstyle error: libraries/mysql_server_installation_package.rb:5:1 convention:
Layout/IndentationWidth
- resolved cookstyle error: libraries/mysql_server_installation_package.rb:5:3 convention:
Layout/IndentationWidth
- resolved cookstyle error: libraries/mysql_server_installation_package.rb:5:9 convention:
Layout/IndentationConsistency
- resolved cookstyle error: libraries/mysql_service_manager_systemd.rb:3:5 warning:
ChefDeprecations/ResourceUsesOnlyResourceName
- resolved cookstyle error: libraries/mysql_service_manager_systemd.rb:4:1 convention:
Layout/IndentationConsistency
- resolved cookstyle error: libraries/mysql_service_manager_systemd.rb:4:1 convention:
Layout/IndentationWidth
- resolved cookstyle error: libraries/mysql_service_manager_systemd.rb:4:3 convention:
Layout/IndentationWidth
- resolved cookstyle error: libraries/mysql_service_manager_systemd.rb:4:9 convention:
Layout/IndentationConsistency
- resolved cookstyle error: libraries/mysql_service_manager_sysvinit.rb:3:5 warning:
ChefDeprecations/ResourceUsesOnlyResourceName
- resolved cookstyle error: libraries/mysql_service_manager_sysvinit.rb:4:1 convention:
Layout/IndentationConsistency
- resolved cookstyle error: libraries/mysql_service_manager_sysvinit.rb:4:1 convention:
Layout/IndentationWidth
- resolved cookstyle error: libraries/mysql_service_manager_sysvinit.rb:4:3 convention:
Layout/IndentationWidth
- resolved cookstyle error: libraries/mysql_service_manager_sysvinit.rb:4:9 convention:
Layout/IndentationConsistency
- resolved cookstyle error: libraries/mysql_service_manager_upstart.rb:3:5 warning:
ChefDeprecations/ResourceUsesOnlyResourceName
- resolved cookstyle error: libraries/mysql_service_manager_upstart.rb:4:1 convention:
Layout/IndentationConsistency
- resolved cookstyle error: libraries/mysql_service_manager_upstart.rb:4:1 convention:
Layout/IndentationWidth
- resolved cookstyle error: libraries/mysql_service_manager_upstart.rb:4:3 convention:
Layout/IndentationWidth
- resolved cookstyle error: libraries/mysql_service_manager_upstart.rb:4:9 convention:
Layout/IndentationConsistency
8.7.2 - 2020-06-02
- resolved cookstyle error: libraries/mysql_service.rb:4:5 warning:
ChefDeprecations/ResourceUsesOnlyResourceName
8.7.1 - 2020-05-20
- resolved cookstyle error: spec/mysql_client_installation_package_spec.rb:7:46 warning:
ChefDeprecations/DeprecatedChefSpecPlatform
- resolved cookstyle error: spec/mysql_server_installation_package_spec.rb:7:46 warning:
ChefDeprecations/DeprecatedChefSpecPlatform
8.7.0 - 2020-05-05
- migration to Github Actions
- Ability to include "none" as an installation method in mysql_service
- resolved cookstyle error: libraries/helpers.rb:57:48 refactor:
ChefStyle/UnnecessaryOSCheck
- resolved cookstyle error: libraries/helpers.rb:58:41 refactor:
ChefStyle/UnnecessaryOSCheck
[8.6.0] - 2019-12-03
- Fix the failing linting tests
- Add mysql57 support for Amazon Linux AMI
- Fix installation and testing on Ubuntu 18.04 bionic, EL7, Fedora and Opensuse
- Ensure compatibility with mysql 5.7 on Ubtuntu 16.04
- Add apparmor profile for ubuntu 16.04
- Allow instance with 'mysql' as name
- Add a helper for Ubuntu 18.04
- Remove support for Debian 7
- Remove ChefSpec matchers
- Set apparmor tmp_dir permissions on directory itself
- Run latest cookstyle
- Circleci, Yaml and markdown lint updates
[8.5.1] - 2017-08-23
- Fix the remainder of the namespace collision deprecation warnings
- Remove the class_eval in the action class as this causes issues with some releases of Chef 12
[8.5.0] - 2017-08-23
- Require Chef 12.7+ since 12.5/12.6 has custom resource action_class issues
- Resolve several Chef 14 deprecation warnings
[8.4.0] - 2017-05-30
- Fix client/server install on Amazon Linux and add testing
- Remove support for Ubuntu Precise since it's EOL
- Add Amazon Linux testing
[8.3.1] - 2017-04-04
- Fix an ignoring of 'cookbook' attribute by 'mysql_config' resource
- Remove unused helper method
- Call out the supported platform versions in the metadata
- Switch to Delivery Local and rename the docked config
- Remove mention of the EOL opensuse 13.x in the readme
[8.3.0] - 2017-03-20
- Refactor mysql_service_manager_upstart.rb to eliminate use of cloned resource
[8.2.0] - 2016-12-03
- Include client development packages on RHEL/SUSE platforms
[8.1.1] - 2016-10-31
- Fixing CVE-2016-6662 - Reverting execure bit on mysql config
[8.1.0] - 2016-10-29
- Drop hardcoded, specific package version logic that broke many users
[8.0.4] - 2016-09-26
- Bump debian version
- Updated packages for 12.04 and 14.04 too
- Add chef_version metadata
- Update platforms in the kitchen file
- Add selinux to the Berksfile for testing
- Make sure yum repos are setup in local Test Kitchen
[8.0.3] - 2016-09-14
- [GH-390] Fix #390 incorrect escaping of initial_root_password
- Updated package versions for Ubuntu 16.04
- Testing updates
[8.0.2] - 2016-08-25
- Various bug fixed and updates to package version strings
[8.0.1] - 2016-07-20
- Fixed a regression in the mysql_client resource where the action was changed from create to install in the 8.0 release
- Added oracle, opensuse, and opensuseleap as supported platforms in the metadata
[8.0.0] - 2016-07-11
- Converting from LWRP to custom resources
- Removing yum-mysql and other dependencies.
- ^ BREAKING CHANGE: RHELish users are now responsible for including a recipe from the "yum-mysql" or equivalent cookbook before utilizing the mysql_* resources.
- More thoughtful ChefSpec
- Renaming "replication" test suite to "smoke"
- Moving to Inspec
[7.2.0] - 2016-06-30
- Support openeSUSE leap
- Support Fedora 24
[7.1.2] - 2016-06-30
- Avoid deprecation warnings on the upcoming Chef 12.12 release
[7.1.1] - 2016-06-03
- Fix apparmor blocking writes to non-default tmp_dirs
- Updated apparmor config to allow read & write to sock.lock file
- Use cookstyle instead of Rubocop directly
[7.1.0] - 2016-05-11
- Added support for Ubuntu 16.04
[7.0.0] - 2016-04-19
- Removed support for legacy distros: Ubuntu 10.04/13.04/14.10/15.04, Fedora 20/21, OmniOS r151006, opensuse 11.3/12.0
- Added support for Fedora 23, suse 13.X, and Ubuntu 16.04
- Updated the systemd support to create unit files in /etc/systemd and not /usr/lib/systemd
- Adding umask to bash resource that sets root password PR #386 @gziskind
- Cleaned up the Test Kitchen config to test the right platform version + mysql pairings
- Added Travis CI Test Kitchen testing on Fedora 22/23 and removed Fedora 21
- Updated the platforms used in the specs
[6.1.3] - 2016-03-14
- Added support for Ubuntu 15.10
- Added support for Amazon Linux 2016-03
- Updated Kitchen testing configs
[6.1.2] - 2015-10-05
- Added support for Amazon Linux 2015.09
[6.1.1] - 2015-09-24
- Completing ChefSpec matchers
[6.1.0] - 2015-07-17
- Adding tunables for tmp_dir, error_log, and pid_file
- Adding mysqld_options hash interface for main my.cnf template
[6.0.31] - 2015-07-13
- Reverting create_stop_system_service checks
[6.0.30] - 2015-07-13
- Ubuntu 15.04 support
- Check for scripts and unit files during create_stop_system_service
[6.0.29] - 2015-07-12
- Patch to allow blank root password
- Adding package information for Suse 12.0
[6.0.28] - 2015-07-10
- Fixes for 12.4.x
[6.0.27] - 2015-07-09
- Allowing integer value for port number
[6.0.26] - 2015-07-07
- Reverting breaking changes introduced in 6.0.25
[6.0.25] - 2015-07-06
- Fixes for 12.4.1
[6.0.24] - 2015-06-27
- 341 - Changing default GRANT for root from '%' to 'localhost' and '127.0.0.1'
[6.0.23] - 2015-06-21
- 354 Better handling of long MySQL startup times
[6.0.22] - 2015-05-07
- Debian 8 (Jessie) support
[6.0.21] - 2015-04-08
- Fix to Upstart prestart script when using custom socket
- Adding --explicit_defaults_for_timestamp mysql_install_db_cmd for
- 5.6 and above
[6.0.20] - 2015-03-27
- 318 - Fixing Upstart pre-start script to handle custom socket paths
[6.0.19] - 2015-03-25
- Adding support for Amazon Linux 2015.03
[6.0.18] - 2015-03-24
- Adding support for 5.6 and 5.7 packages from dotdeb repos on Debian 7
[6.0.17] - 2015-03-13
- Updated for MySQL 5.7.6.
- Handing removal of mysql_install_db and mysqld_safe
[6.0.16] - 2015-03-10
- Moved --defaults-file as first option to mysql_install_db_script
[6.0.15] - 2015-02-26
- Updating docker detection fix to pass specs
[6.0.14] - 2015-02-26
- Fixed debian system service :disable action. Now survives reboot
- Fixing centos-7 instance :enable action. Now survives
- Not applying Apparmor policy if running in a Docker container
[6.0.13] - 2015-02-15
- Adding support for special characters in initial_root_password
- Fixing failure status bug in sysvinit script
[6.0.12] - 2015-02-30
- No changes. Released a 6.0.11 that was identical to 6.0.10.
- Git before coffee.
[6.0.11] - 2015-02-30
- Adding support for configurable socket files
[6.0.10] - 2015-01-19
- Fix #282 - Fixing up data_dir template variable
[6.0.9] - 2015-01-19
- Fix #282 - undefined method `parsed_data_dir' bug
[6.0.8] - 2015-01-19
- Refactoring helper methods out of resource classes
[6.0.7] - 2015-01-14
- Fixing timing issue with Upstart provider :restart and :reload
- actions where service returns before being available
[6.0.6] - 2014-12-26
- Fixing subtle bug where MysqlCookbook::Helper methods were polluting Chef::Resource
[6.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.
[6.0.4] - 2014-12-21
- Suggest available versions if current is not available for current platform.
[6.0.3] - 2014-12-17
- Adding bind_address parameter to mysql_service resource
[6.0.2] - 2014-12-17
- Fixing sysvinit provider to survive reboots
[6.0.1] - 2014-12-16
- Fixing Upstart template to survive reboots
[6.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
[5.6.1] - 2014-10-29
- Use Gem::Version instead of Chef::Version
[5.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
[5.5.4] - 2014-10-07
- Adding sensitive flag to execute resources to protect passwords from logs
[5.5.3] - 2014-09-24
- Reverting back to Upstart on Ubuntu 14.04
[5.5.2] - 2014-09-8
- Reverting commit that broke Debian pass_string
[5.5.1] - 2014-09-2
- Switching Ubuntu service provider to use SysVinit instead of Upstart
[5.5.0] - 2014-08-27
- Adding package version and action parameters to mysql_service resource
- Fixing Debian pass_string
[5.4.4] - 2014-08-27
- Changing module namespace to MysqlCookbook
[5.4.3] - 2014-08-25
- More refactoring. Moving helper function bits into resource parsed_parameters
[5.4.2] - 2014-08-25
- Moving provider local variables into definitions for RHEL provider
[5.4.1] - 2014-08-25
- Refactoring resources into the LWRP style with parsed parameters
- Moving provider local variables into definitions
[5.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
[5.3.6] - 2014-06-18
- Fixing pid path location. Updating tests to include real RHEL
[5.3.4] - 2014-06-16
- Fixing specs for Amazon Linux server package names
[5.3.2] - 2014-06-16
- Fixing Amazon Linux support
[5.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
[5.2.12] - 2014-05-19
PR #192 - recipes/server.rb should honor parameter node['mysql']['version']
[5.2.10] - 2014-05-15
- COOK-4394 - restore freebsd support
[5.2.8] - 2014-05-15
- [COOK-4653] - Missing mySQL 5.6 support for Ubuntu 14.04
[5.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
[5.2.4] - 2014-05-02
- [COOK-4613] - Fix permissions on mysql data_dir to allow global access to mysql.sock
[5.2.2] - 2014-04-24
- [COOK-4564] - Using positive tests for datadir move
[5.2.0] - 2014-04-22
- [COOK-4551] - power grants.sql from resource parameters
[5.1.12] - 2014-04-21
- [COOK-4554] - Support for Debian Sid
[5.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
[5.1.8] - 2014-04-12
Adding Ubuntu 13.04 to Platforminfo
[5.1.6] - 2014-04-11
- [COOK-4548] - Add template[/etc/mysql/debian.cnf] to Ubuntu provider
[5.1.4] - 2014-04-11
- [COOK-4547] - Shellescape server_root_password
[5.1.2] - 2014-04-09
- [COOK-4519] - Fix error in run_dir for Ubuntu
- [COOK-4531] - Fix pid and run_dir for Debian
[5.1.0] - 2014-04-08
[COOK-4523] - Allow for both :restart and :reload
[5.0.6] - 2014-04-07
- [COOK-4519] - Updating specs to reflect pid file change on Ubuntu
[5.0.4] - 2014-04-07
- [COOK-4519] - Fix path to pid file on Ubuntu
[5.0.2] - 2014-04-01
- Moving server_deprecated into recipes directory
[5.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
[4.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
[4.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'
[4.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
[4.0.14]
Fixing style cops
[4.0.12]
Bug
- COOK-4068 - rework MySQL Windows recipe
Improvement
- COOK-3801 - Add innodb_adaptive_flushing_method and innodb_adaptive_checkpoint
[4.0.10]
fixing metadata version error. locking to 3.0
[4.0.8]
Locking yum dependency to '< 3'
[4.0.6]
Bug
- [COOK-3943] Notifying service restart on grants update
[4.0.4]
[COOK-3952] - Adding 'recursive true' to directory resources
[4.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
[4.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
[3.0.12]
Bug
- COOK-3752 - mysql service fails to start in mysql::server recipe
[3.0.10]
- Fix a failed release attempt for v3.0.8
[3.0.8]
Bug
- COOK-3749 - Fix a regression with Chef 11-specific features
[3.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
[3.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
[3.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
[3.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
[2.1.2]
- [COOK-2172] - Mysql cookbook duplicates
binlog_format
configuration
[2.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
[2.0.2]
- [COOK-1967] - mysql: trailing comma in server.rb platform family
[2.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 chef/cookbooks repo instead of chef-cookbook organization
- [COOK-1963] - use
platform_family
[1.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
[1.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
[1.2.4]
- [COOK-992] - fix FATAL nameerror
- [COOK-827] -
mysql:server_ec2
recipe can't mountdata_dir
- [COOK-945] - FreeBSD support
[1.2.2]
- [COOK-826] mysql::server recipe doesn't quote password string
- [COOK-834] Add 'scientific' and 'amazon' platforms to mysql cookbook
[1.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
[1.2.0]
- [COOK-684] remove mysql_database LWRP
[1.0.8]
- [COOK-633] ensure "cloud" attribute is available
[1.0.7]
- [COOK-614] expose all mysql tunable settings in config
- [COOK-617] bind to private IP if available
[1.0.6]
- [COOK-605] install mysql-client package on ubuntu/debian
[1.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
[1.0.4]
- fix regressions on debian platform
- [COOK-578] wrap root password in quotes
- [COOK-562] expose all tunables in my.cnf