厨师创建数据库数组



我正在尝试使用数组创建数据库。我正在定义数据库数组,然后从数组项创建数据库。

这是我在mysql中创建数据库的厨师食谱。

array-  database=["testy1","testy2"]
script 'set Create database ' do
  interpreter 'bash'
  user 'root'
  cwd '/tmp'
  code <<-EOH
 mysql -uroot -p'#{pw}' -Be "CREATE DATABASE #{database}"
 EOH
  not_if "mysql -u root -p'#{pw}' -Be 'SHOW DATABASES' | grep #{database};"
end

STDERR: mysql: [警告] 在命令行界面上使用密码可能不安全。 错误 1064 (42000( 在第 1 行:SQL 语法有错误;检查与您的MySQL服务器版本相对应的手册,了解在第1行的"[testy1,testy2]"附近使用的正确语法 ---- 结束输出"bash"/tmp/chef-script20190402-6843-gm0k0u"---- 运行 "bash" "/tmp/chef-script20190402-6843-gm0k0u" 返回 1预期结果将是创建 testy1 和 test2 数据库。

虽然数据库说明书已被弃用,但您可以尝试一下,看看它是否能解决您的痛苦。 Chef 文档提供了创建使用数据库说明书的 Web 应用说明书的教程。

关于您的问题,您应该创建MySQL客户端配置(my.cnf(,这将允许您在不指定登录凭据(用户名和密码(的情况下运行mysql命令。

相关内容

最新更新