我们有一个基本上像这样工作的木偶设置:
- 创建用户“puppetdeploy”
- 授予用户“puppetdeploy”对所有表的访问权限
- 使用“puppetdeploy”运行从 .sql 文件创建和更新数据库的脚本
- 撤销对用户“puppetdeploy”的所有访问权限
.pp 文件如下所示:
mysql_user { 'puppetdeploy@localhost':
ensure => 'present',
password_hash => '*****',
}->
mysql_grant { 'grant_all_for_puppetdeploy':
ensure => 'present',
options => ['GRANT'],
privileges => ['ALL'],
table => '*.*',
user => 'puppetdeploy@localhost',
}
#... execute scripts to import bunch of .sql files using mysql user 'puppetdeploy'
mysql_grant { 'revoke_all_for_puppetdeploy':
options => ['REVOKE'],
privileges => ['ALL'],
table => '*.*',
user => 'puppetdeploy@localhost',
}
在更高版本的 mysql-module 中,这不再有效,因为每个授权的名称需要采用格式“[user]/[table]”,并且我不允许两个或多个 mysql_grants 具有相同的名称。
有没有办法在 puppetlabs-mysql 3.0.0 中解决这个限制,或者有更好的方法来处理临时 mysql 用户?