Бродяга: chef_solo | Как я могу изменить путь журнала с MySQL Server и Mongodb?
Я работаю с Вагрантом и шеф-поваром. Поскольку все идет, только когда я использую Logpath mysql и изменения mongodb в файле vagrant, я получаю ошибку.
если кто-то здесь есть совет и может помочь мне был бы счастлив.
В Vagrantfile я заявил так...
:mysql => {
:server_root_password => 'password',
:server_debian_password => 'password',
:server_repl_password => 'password',
:allow_remote_root => true,
:log_dir => "/vagrant/www/logs/mysql",
:tunable => {
:log_slow_queries => "/vagrant/www/logs/mysql/slow.log",
:log_error => true,
:log_warnings => true
}
},
:mongodb => {
:logpath => "/vagrant/www/logs/mongodb"
},
================================================================================
Error executing action `create` on resource 'directory[/vagrant/www/logs/mysql]'
================================================================================
Errno::EPERM
------------
Operation not permitted - /vagrant/www/logs/mysql
Resource Declaration:
---------------------
# In /tmp/vagrant-chef/chef-solo-1/cookbooks/mysql/recipes/server.rb
117: directory path do
118: owner 'mysql' unless platform?('windows')
119: group 'mysql' unless platform?('windows')
120: action :create
121: recursive true
122: end
123: end
Compiled Resource:
------------------
# Declared in /tmp/vagrant-chef/chef-solo-1/cookbooks/mysql/recipes/server.rb:117:in `block in from_file'
directory("/vagrant/www/logs/mysql") do
provider Chef::Provider::Directory
action [:create]
retries 0
retry_delay 2
path "/vagrant/www/logs/mysql"
recursive true
cookbook_name :mysql
recipe_name "server"
owner "mysql"
group "mysql"
mode 493
end
[2013-10-31T01:03:09-07:00] DEBUG: Re-raising exception: Errno::EPERM - directory[/vagrant/www/logs/mysql] (mysql::server line 117) had an error: Errno::EPERM: Operation not permitted - /vagrant/www/logs/mysql
2 ответа
Во-первых, я бы не советовал использовать это - медленная запись в журнал замедлит работу большинства баз данных, и я бы не хотел делать это для себя.
В любом случае, разрешения для бродящих общих папок могут быть немного хитрыми - в некоторых, если не во многих случаях, вам нужно установить владельца / разрешение из vagrantfile. Это немного сложно для / vagrant, но вы можете сопоставить другую папку, если вы действительно не хотите vagrant ssh на сервер для чтения журналов. Для этого:
config.vm.synced_folder "logs", "/logs", :mount_options => ['dmode=777', 'fmode=777']
777, вероятно, излишне, но вы поняли идею.
Эта строка является ключевой проблемой: Operation not permitted - /vagrant/www/logs/mysql
Это означает, что он не позволяет пользователю создавать каталог по этому пути. Пожалуйста, проверьте, если пользователь mysql
имеет право доступа к каталогу /vagrant/www/logs
, Может быть, вам нужно +x
на /vagrant