如何使用〜/ .my.cnf从脚本中删除mysql数据库?

时间:2014-07-25 19:06:27

标签: bash

我需要直接从脚本中删除一个mysql数据库。

我创建文件〜/ .my.cnf和chmod 600。

[client] user = "**************" password = "*********" safe-updates

我的脚本包括:

CMD4="echo 'DROP DATABASE db_test;' | mysql"

curl -fs -- "$URL" | grep -q -- "$WORD1" && $CMD4

我无法执行命令我只是得到这个输出: 'DROP DATABASE db_test;' | MySQL的

不会删除数据库。 怎么了?

由于

3 个答案:

答案 0 :(得分:0)

我认为你应该用Grave accent(``)而不是双引号("")附上下面的语句,你要在这两个语句中初始化CMD4的值

echo 'DROP DATABASE db_test;' | mysql

答案 1 :(得分:0)

请不要使用变量来存储代码。改为使用功能

function dropdb {
    echo 'DROP DATABASE db_test;' | mysql # aren't you missing some arguments here?
                                          # like `-u username -p db`
}

curl -fs -- "$URL" | grep -q -- "$WORD1" && dropdb

答案 2 :(得分:0)

您可以使用mysql -Bse 'expression'删除管道。因此,在您的情况下,使用正确的〜/ .my.cnf设置,您只需执行以下操作:

mysql -Bse "drop database db_test"

您还拥有全系列的mysql选项。即mysql -h somehost -u someuser -p pass -Bse "expression"

相关问题