Как мне запустить команду mysql с кочевником и аргументами? - PullRequest
0 голосов
/ 01 июня 2018

Я заинтересован в использовании nomad для инициализации базы данных mysql на сервере Windows без докера.Я пытался создать задание, используя драйвер "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"
                ]
            }
        }

    }

}

Аргументы не передаются.Я также попытался удалить аргументы и просто с помощью команды, которая не работала:

mysql -hlocalhost -ugavin -pgavin_secret gavin_database < C:\\gavin\\config\\create.sql

Можно ли выполнить такую ​​настройку инициализации базы данных при первом запускеприложение?Должен ли кочевник быть в состоянии сделать это?Если нет - должен ли я использовать какой-то другой процесс для такой настройки?

1 Ответ

0 голосов
/ 01 июня 2018

Я использовал полный путь к mysql.exe и обнаружил, что nomad logs -stderr <assoc-id> действительно полезен.

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;"
                ]
            }
        }

    }

}
...