- From: Ameya Ameya Savale <
>
- To:
- Subject: [chef] executing mysql command error
- Date: Wed, 5 Feb 2014 15:59:39 -0800 (PST)
I've been having some trouble executing a mysql command. So in my recipe I
enable the mysql service using the runit cookbook which works fine, however in
my next resource when I try to run a mysql command I get a socket error. When
I
try to run the exact command directly from the command line it works fine, why
does this happen?
Here is my runit resource
runit_service "Enable service mysql-#{setup_instance_node['node']}" do
sv_bin "/usr/bin/sv"
sv_dir "/var/services"
service_dir "/service"
service_name "mysql-#{setup_instance_node['name']}"
sv_templates false
sv_verbose true
action :nothing
end
runit_service "Restart service mysql-#{setup_instance_node['node']}" do
sv_bin "/usr/bin/sv"
sv_dir "/var/services"
service_dir "/service"
service_name "mysql-#{setup_instance_node['name']}"
sv_templates false
sv_verbose true
action :nothing
end
at this point it says that the mysql service is already up and then this is
the
next resource which I am running:
ruby_block "Set root password and set global users" do
block do
socket =
"/var/lib/mysql/#{setup_instance_node['name']}/mysql.sock"
exec = ::Chef::Resource::Execute.new("Readonly users",
run_context)
exec.command %Q{ mysql --socket=#{socket} -u root -e "grant
select, usage on *.* to 'readonly'@'%%' identified by 'readonly';" }
exec.run_action(:run)
end
action :nothing
end
it is in this resource that I am getting the error: ERROR 2002 (HY000): Can't
connect to local MySQL server through socket '/var/lib/mysql/test/mysql.sock'
(2)
but when I run the command from the command line it works fine, is this a
problem with my actual command or with the way chef is converging the
resources.
- Thank You
Ameya
Archive powered by MHonArc 2.6.16.