Бродяга: 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

Другие вопросы по тегам