#
# Cookbook Name:: database-mysql-dev
# Recipe:: mysql
#
# Copyright (c) 2017 The Authors, All Rights Reserved.
include_recipe "yum-mysql-community::mysql56"
yum_package [ 'mysql-community-server' ] do
action :install
flush_cache [:before]
end
include_recipe "database::mysql"
service 'mysqld' do
action [:enable, :start]
end
mysql_connection_info = {
host: 'localhost',
username: 'root',
password: ''
}
node['db'].each do |d|
d.each do |n|
if #n['name'].attribute?
puts "################################################################"
puts "########### ###########"
puts "########### DATABASE- #{n['name']} ###########"
puts "########### Executing recipes/mysql.rb ###########"
puts "########### ###########"
puts "################################################################"
mysql_database "#{n['name']}" do
connection mysql_connection_info
action :create
ignore_failure true
end
# Let this database user access this database
puts #n['user']
mysql_database_user "#{n['user']}" do
connection mysql_connection_info
host "#{n['host']}"
password "#{n['pass']}"
database_name "#{n['name']}"
action :create
ignore_failure true
end
execute "grant-perms-#{n['user']}" do
command "mysql -u root -r -B -N -e \"GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, EXECUTE, CREATE VIEW, SHOW VIEW, TRIGGER ON #{n['name']}.* TO #{n['user']}@'%' WITH GRANT OPTION;\""
action :run
ignore_failure true
end
# flush mysql privs if any are changed
execute "mysql-flush-privs" do
command "mysql -u root -r -B -N -e \"FLUSH PRIVILEGES;\""
action :run
end
end
end
end
bash 'character-set' do
code " mysql -u root -e 'ALTER DATABASE #{node['db']['mysql-dev']['name']} CHARACTER SET utf8 COLLATE utf8_general_ci;'"
end
if "mysql-development".include? node.chef_environment
template "/etc/my.cnf" do
mode '0644'
source 'my-dev.conf.erb'
end
else
template "/etc/my.cnf" do
mode '0644'
source 'my-test.conf.erb'
end
end
# Cookbook Name:: database-mysql-dev
# Recipe:: mysql
#
# Copyright (c) 2017 The Authors, All Rights Reserved.
include_recipe "yum-mysql-community::mysql56"
yum_package [ 'mysql-community-server' ] do
action :install
flush_cache [:before]
end
include_recipe "database::mysql"
service 'mysqld' do
action [:enable, :start]
end
mysql_connection_info = {
host: 'localhost',
username: 'root',
password: ''
}
node['db'].each do |d|
d.each do |n|
if #n['name'].attribute?
puts "################################################################"
puts "########### ###########"
puts "########### DATABASE- #{n['name']} ###########"
puts "########### Executing recipes/mysql.rb ###########"
puts "########### ###########"
puts "################################################################"
mysql_database "#{n['name']}" do
connection mysql_connection_info
action :create
ignore_failure true
end
# Let this database user access this database
puts #n['user']
mysql_database_user "#{n['user']}" do
connection mysql_connection_info
host "#{n['host']}"
password "#{n['pass']}"
database_name "#{n['name']}"
action :create
ignore_failure true
end
execute "grant-perms-#{n['user']}" do
command "mysql -u root -r -B -N -e \"GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, EXECUTE, CREATE VIEW, SHOW VIEW, TRIGGER ON #{n['name']}.* TO #{n['user']}@'%' WITH GRANT OPTION;\""
action :run
ignore_failure true
end
# flush mysql privs if any are changed
execute "mysql-flush-privs" do
command "mysql -u root -r -B -N -e \"FLUSH PRIVILEGES;\""
action :run
end
end
end
end
bash 'character-set' do
code " mysql -u root -e 'ALTER DATABASE #{node['db']['mysql-dev']['name']} CHARACTER SET utf8 COLLATE utf8_general_ci;'"
end
if "mysql-development".include? node.chef_environment
template "/etc/my.cnf" do
mode '0644'
source 'my-dev.conf.erb'
end
else
template "/etc/my.cnf" do
mode '0644'
source 'my-test.conf.erb'
end
end