【问题标题】:Setting up a MySQL database with a user with Vagrant and chef-solo使用 Vagrant 和 chef-solo 的用户设置 MySQL 数据库
【发布时间】:2014-03-27 18:39:32
【问题描述】:

我正在尝试自动化项目上的开发人员设置,以便新开发人员可以简单地发出vagrant up 来获得一个带有 MySQL 和 Tomcat 的 VM,并部署了一个自定义的 war 文件并运行。部署战争假定 MySQL 实例上存在特定的数据库和用户。

现在,我正在使用 chef-solo,一切都在正确启动和安装。但是,我似乎不知道如何编写用于设置数据库和用户的食谱。我查看了database 食谱,但这似乎不适合我的厨师独奏用例。我一直无法在网上找到一个为 chef-solo 实例设置数据库的示例设置,但也许我正在搜索错误的术语?

我可以编写一个 bash 脚本来设置数据库和用户(以它们不存在为条件),但这似乎不符合食谱的理念。你会如何解决这个问题?

【问题讨论】:

    标签: chef-infra vagrant


    【解决方案1】:

    是的,您可以像这样使用 database 食谱以 Chef 的方式做到这一点:

    include_recipe "database::mysql"
    
    # create a mysql database
    mysql_database 'sonar' do
      connection ({:host => "localhost", :username => 'root', :password => node['mysql']['server_root_password']})
      action :create
    end
    

    更多关于这本食谱的信息可以在这里找到:http://community.opscode.com/cookbooks/database

    【讨论】:

      【解决方案2】:

      对于Chef solo,您需要进行一些配置,您完成了吗?我说的配置是here 同一页面还提供了一个关于如何配置和运行食谱的快速小演示,之后您可以:

      Cookbook for MySQL 是 here Tomcat 的食谱是 here

      可以找到其他食谱here

      根据您提供的数据,这是我能得到的最接近的值。一旦你配置了这个并设置了东西,如果你遇到错误,发布它们。希望我对您有所帮助:)

      我会先配置 Chef Solo,然后将 Cookbooks 放在一个配置的目录中。

      【讨论】:

      • 我已经有一个完整的 chef-solo 设置,可以安装 tomcat、复制我的战争、安装 MySQL 等。目前,我制作了一个自定义食谱,它只使用 bash 创建数据库,但我犹豫是否使用 bash 设置自定义用户等。这是我为创建数据库编写的当前配方: bash "Attempting to create database 'foo'" do code
      • 是的,但是如果您从 Chef 网站下载食谱,它们将是 ruby​​ 脚本。还是您在寻找其他东西?
      • 我拥有与 MySQL 和朋友建立映像所需的所有食谱。我的问题是之后配置 MySQL。我需要向服务器添加一个用户和一个数据库。我知道如何编写自己的方法来做这件事,在 bash 中到处乱搞,但这似乎不是一种惯用的方法。我试图弄清楚 database 食谱是否可以用于 chef-solo 来解决我的用例。恐怕我最初的问题还不够清楚。这有意义吗?
      • 现在完全明白了!那么在您的 MySQL 数据库中创建数据库用户是您想要实现的目标吗?只要您的脚本是幂等的,它们就应该没问题。我环顾四周,不确定我找到的是你需要的东西:gist.github.com/769365 但我建议编写一个 ruby​​ 或作为最后的 shell 脚本,它在创建数据库和其中的用户时是幂等的
      • 是的!我一直在寻找类似的东西,尽管我希望我能够使用database 食谱。这是一个不错的解决方案,尽管如果有人将其放入“适当的”食谱中会更好。嗯,你不能拥有这一切。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-06
      • 2013-09-16
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      • 1970-01-01
      相关资源
      最近更新 更多