提问者:小点点

创建数据库数组


我正在尝试使用数组创建数据库。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

在命令行界面上使用密码可能不安全。错误1064 (42000)在第1行:您有一个错误在您的SQL语法;检查手册,对应于您的MySQL服务器版本的正确的语法使用附近的[testi1, testi2]在第1行-结束输出"bash"/tmp/chicer-cript20190402-6843-gm0k0u" ---- 运行"bash"/tmp/chicer-cript20190402-6843-gm0k0u"返回1预期结果将是创建test1和test2数据库。


共1个答案

匿名用户

尽管数据库cookbook已被弃用,但您可以尝试一下,看看它是否解决了您的问题。chef documentation有一个教程,用于创建使用数据库cookbook的web应用程序cookbook。

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