grunt shell创建数据库

时间:2014-04-04 06:29:40

标签: mysql shell gruntjs

我正在尝试使用grunt和grunt-shell来创建数据库 问题是:如果我从shell创建它,这行正常工作:

mysql -uroot -pmypass -e "create database test"

相反,如果我使用grunt和grunt-shell,它就不会像这样工作:

 shell: {
            install_db: {
                options: {
                    stdout: true,
                    stderr: true
                },
                command: [
                    'ssh user@demo.server.it mysql -uroot -pmypass -e "create database test"',
                ].join("&&")
            }
        }

“它不起作用”意味着打印出mysql的参数列表,如下所示:

Usage: mysql [OPTIONS] [database]
  -?, --help          Display this help and exit.
  -I, --help          Synonym for -?
  --auto-rehash       Enable automatic rehashing. One doesn't need to use
                      'rehash' to get table and field completion, but startup
                      and reconnecting may take a longer time. Disable with
                      --disable-auto-rehash.
                      (Defaults to on; use --skip-auto-rehash to disable.)
  -A, --no-auto-rehash 
...

我也尝试过:

'ssh user@demo.server.it mysql -uroot -pmypass -e \"create database test\"',

'ssh user@demo.server.it mysql -uroot -pmypass -e create database test',

'ssh user@demo.server.it mysql -uroot -p -e create database test',

和许多其他相同的问题打印出mysql命令的参数列表,它不会创建数据库。

为什么?

1 个答案:

答案 0 :(得分:0)

找到问题,使用mysqladmin它可以正常工作:

'ssh user@demo.server.it mysqladmin -uroot -pmypass create test',