【发布时间】:2014-12-12 11:37:49
【问题描述】:
在这样一个简单的脚本中:
set -x
# Check if db exists, if not we make it, make user, give privileges
if ! mysql -u root -p -e "use $db" 2>/dev/null; then
c1="CREATE DATABASE $db"
c2="GRANT ALL PRIVILEGES ON ${db}.* to '$username'@'localhost' IDENTIFIED BY '$password'"
c3="FLUSH PRIVILEGES"
mysql -u root -p -e "$c1; $c2; $c3"
else
echo 'DATABASE ExISTS, ABORTING'; exit $DB_EXISTS
fi
我每次都被问到,bash 看到 mysql 命令,以获得我的根凭据。
有没有办法避免这种情况,这样一旦输入root密码,所有
其他 mysql 命令是否无缝执行?
【问题讨论】:
-
您可以要求输入密码,将其存储在一个单独的变量中,然后在命令中将其传递为:
mysql --password $pass_var