у нас есть установка кукольный, которая в основном работает так:puppetlabs-mysq (v3.0.0): временный пользователь
- Создать пользователя "puppetdeploy" доступ
- Grant ко всем таблицам для пользователя "puppetdeploy"
- Запускает скрипты, которые создает и обновляет базы данных из .sql файлов, используя «» puppetdeploy
- Отозвать весь доступ к пользователю «puppetdeploy»
.pp файл выглядит примерно так:
mysql_user { '[email protected]':
ensure => 'present',
password_hash => '*****',
}->
mysql_grant { 'grant_all_for_puppetdeploy':
ensure => 'present',
options => ['GRANT'],
privileges => ['ALL'],
table => '*.*',
user => '[email protected]',
}
#... execute scripts to import bunch of .sql files using mysql user 'puppetdeploy'
mysql_grant { 'revoke_all_for_puppetdeploy':
options => ['REVOKE'],
privileges => ['ALL'],
table => '*.*',
user => '[email protected]',
}
В более поздних версиях MySQL-модуля это больше не работает, как имя для каждого гранта должны быть в формате "[пользователь]/[таблица], и Мне не разрешено иметь одно и то же имя для двух или более mysql_grants.
Есть ли способ обойти это ограничение в puppetlabs-mysql 3.0.0, или есть ли лучшие способы борьбы с временными пользователями mysql?
Благодарим за хорошее объяснение. Должен признаться, что я более или менее рассматривал манифесты как скрипты инициализации. Думаю, нам, возможно, придется внести некоторые изменения в то, как мы (пытаемся) использовать марионетку в целом. Пока я решил, что я разрешу пользователю puppetdeploy существовать «как есть» после начальной настройки. – kjetil