如何在bash脚本中自动设置mysql密码?

时间:2019-04-25 20:57:15

标签: mysql bash

我有一个bash脚本,可以从MySQL打开查询。 例如:

$ cat script.sh 
mysql -u joe -D database -p ........ < first_query.sql
mysql -u joe -D database -p ........ < second_query.sql

script.sh文件中的这2行返回查询的结果,但是:每次我调用“ mysql”命令时,如果它具有“ -p”选项,它将要求输入密码TWICE(因为我调用了mysql)两次)。如何避免这种行为?

我尝试将密码作为参数传递,例如:

$ sh script.sh ‘mypassword’ 

并将其存储在变量中,并将其放在«-p»选项之后。 但是它仍然要求两次输入密码。

2 个答案:

答案 0 :(得分:1)

可能最简单的方法是编辑my.cnf(默认情况下位于 / etc / mysql / 中)以包含密码,如下所示:

[client]
user = joe
password = ......

答案 1 :(得分:1)

您可以将密码直接放在-p之后。如果密码为“ 123asd”,则命令为:

mysql -u user -p123asd

确保-p和您的密码之间没有空格。