Chef创建数据库数组

问题描述 投票:0回答:1

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

这是我在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” - --- Ran“bash”“/ tmp / chef-script20190402-6843-gm0k0u”返回1预期的结果是创建testy1和test2数据库。

mysql ruby bash chef
1个回答
0
投票

虽然database cookbook已被弃用,但您可以尝试一下,看看它是否能解决您的痛苦。 chef documentation有一个使用数据库cookbook的create a web app cookbook教程。

关于你的问题,你应该创建mysql client configuration (my.cnf),这将让你运行mysql命令而不指定登录凭据(用户名和密码)。

© www.soinside.com 2019 - 2024. All rights reserved.