Creating MySQL databases and users
You need to use two different cookbooks to manage MySQL (or any other database) on your nodes: the generic database
cookbook and the specific mysql
cookbook.
The database
cookbook provides resources for managing databases and database users for MySQL, PostgreSQL, and Microsoft SQL Server. The mysql
cookbook installs the MySQL client and server.
Let's see how we can install the MySQL server and create a database and a database user.
Getting ready
Make sure that you have a cookbook called my_cookbook
and that the run_list
of your node includes my_cookbook
, as described in the Creating and using cookbooks recipe in Chapter 1, Chef Infrastructure.
Make sure a Berksfile
in your Chef repository includes my_cookbook
:
mma@laptop:~/chef-repo $ subl Berksfile cookbook 'my_cookbook', path: './cookbooks/my_cookbook'
How to do it…
We'll install the MySQL server with a database and user:
Edit your cookbook's
metadata.rb
file to include dependencies on the database andmysql...