2014-10-16 48 views
0

在一個簡單的腳本,像這樣的:避免要求第二次MySQL root密碼(bash)的

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命令都能無縫執行?

+1

你可以要求密碼,將其存儲在一個單獨的變量,並通過它的命令爲:'mysql --password $ pass_var' – hjpotter92 2014-10-16 23:47:39

回答