厨师创建数据库数组

时间:2019-04-02 18:28:17

标签: mysql ruby bash chef

我试图用array创建数据库。我定义数据库数组,然后从arrays项创建数据库。

这是我在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:[警告]在命令行界面上使用密码可能不安全。        第1行的错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在第1行的'[testy1,testy2]'附近使用正确的语法        ----最终输出“ bash”“ / tmp / chef-script20190402-6843-gm0k0u” ----        然“ bash”“ / tmp / chef-script20190402-6843-gm0k0u”返回1 预期结果将是创建testy1和test2数据库。

1 个答案:

答案 0 :(得分:0)

尽管database cookbook已过时,但您可以尝试一下,看看它是否可以解决您的痛苦。厨师文档中有create a web app cookbook的使用数据库食谱的教程。

关于问题,您应该创建mysql client configuration (my.cnf),这将使您无需指定登录凭据(用户名和密码)即可运行mysql命令。