【问题标题】:How should I run a mysql command with nomad and arguments?我应该如何运行带有 nomad 和参数的 mysql 命令?
【发布时间】:2018-11-11 15:21:25
【问题描述】:

我有兴趣使用 nomad 在没有 docker 的 Windows 服务器上初始化 mysql 数据库。我尝试使用“exec”驱动程序、“mysql”命令和带有主机、用户名、密码等的 args 参数来创建作业。

job "gavin-setup" {

    datacenters = ["dc1"]

    group "gavin-setup-group" {

        task "setup" {
            driver = "exec"
            config = {
                command = "mysql"
                args = [
                    "-hlocalhost",
                    "-ugavin",
                    "-pgavin_secret",
                    "gavin_database",
                    "<",
                    "C:\\gavin\\config\\create.sql"
                ]
            }
        }

    }

}

参数没有被传递。我还尝试删除 args 并仅使用不起作用的命令:

mysql -hlocalhost -ugavin -pgavin_secret gavin_database &lt; C:\\gavin\\config\\create.sql

是否可以在应用程序首次运行时进行这种数据库初始化设置?游牧民族应该有能力做到这一点吗?如果不是 - 我应该使用其他过程来进行这种设置吗?

【问题讨论】:

    标签: nomad


    【解决方案1】:

    我最终使用了 mysql.exe 的完整路径,发现nomad logs -stderr &lt;assoc-id&gt; 真的很有帮助。

    job "gavin-setup" {
    
        datacenters = ["dc1"]
    
        group "gavin-setup-group" {
    
            task "create_db" {
                driver = "exec"
                config = {
                    command = "C:/Program Files (x86)/MySQL/MySQL Server 5.6/bin/mysql.exe"
                    args = [
                        "-uroot",
                        "-pgavin_secret",
                        "-e",
                        "create database if not exists gavin_db;"
                    ]
                }
            }
    
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2011-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多