Кукольный не запускает MySQL

Я облегчаю свою жизнь (надеюсь), учась использовать puppet и vagrant. Я уже знаю, как работать с Vagrant, но хочу сделать конфигурацию, в которой из коробки все настроено для запуска. Поэтому я подумал использовать Puppet. Я использовал учебник по адресу http://jamesmcfadden.co.uk/using-vagrant-and-puppet-to-build-a-php-nginx-and-mysql-environment/, но не могу понять, как начать MySQL.

Запуск Ubuntu 14.04LTS мой init.pp для MySQL

    class mysql {

  # Install mysql
  package { ['mysql-server']:
    ensure => present,
    require => Exec['apt-get update'],
  }

  # Run mysql
  service { 'mysql':
    ensure  => running,
    require => Package['mysql-server'],
  }

  # Use a custom mysql configuration file
  file { '/etc/mysql/my.cnf':
    source  => 'puppet:///modules/mysql/my.cnf',
    require => Package['mysql-server'],
    notify  => Service['mysql'],
  }

  # We set the root password here
  exec { 'set-mysql-password':
    unless  => 'mysqladmin -uroot -proot status',
    command => "mysqladmin -uroot password a9120ed2b58af37862a83f5b9f850819ed08b2a9",
    path    => ['/bin', '/usr/bin'],
    require => Service['mysql'];
  }
}

Но это дает мне ошибку, что mysql не найден.

err: /Stage[main]/Mysql/Service[mysql]/ensure: change from stopped to running fa
iled: Could not start Service[mysql]: Execution of '/sbin/start mysql' returned
1:  at /tmp/vagrant-puppet-2/modules-0/mysql/manifests/init.pp:13

И изменив его на mysqld (обратите внимание на «d»), это сообщение исчезло, но есть проблемы, возникающие с зависимостями, которые невозможно найти, чтобы проверить, работает ли mysql (после изменения их на «Service ['mysqld']' :

err: /Stage[main]/Mysql/Service[mysqld]: Could not evaluate: Could not find init
 script or upstart conf file for 'mysqld'

Я делал это неправильно?


person Sgarz    schedule 19.09.2014    source источник
comment
Очевидно, что mysql без завершающего d является правильным, но вам необходимо выяснить причину сбоя сценария запуска. Попробуйте использовать syslog или любые специальные журналы mysql, которые служба может записывать.   -  person Felix Frank    schedule 20.09.2014


Ответы (2)


ваш скрипт имеет следующие строки:

требуют => Exec['apt-получить обновление'],

но не определяйте «Exec». Добавьте следующие строки:

exec { 'apt-get update':

command => 'sudo apt-get update',

path    => ['/bin', '/usr/bin'],

}

После должно работать нормально.

person piasxp    schedule 13.09.2019

Не пытайтесь написать свой собственный модуль MySQL. Используйте официально поддерживаемый модуль puppet MySQL. Чтобы установить его, позвоните:

puppet module install puppetlabs-mysql

Как правило, если вы хотите установить/управлять каким-либо приложением с помощью puppet, сначала проверьте, существует ли на puppet forge специальный модуль.

person kkamilpl    schedule 11.01.2015