Bash

來自 bash 文件的 Mysql 查詢

  • September 25, 2016

我想執行多個 MySQL 查詢並將它們保存到指定的文件中。查詢保存在 bash 腳本中queries.sh,例如:

cat queries.sh
mysql -u <user> -p <DBname> -e "select Col1 from Table1 where Condition;" > /home/<user>/queries/Col1Table1Cond
mysql -u <user> -p <DBname> -e "select Col5 from Table2 where Condition;" > /home/<user>/queries/Col5Table2Cond

執行腳本是不夠的,因為<user>必須在每次查詢時輸入他的密碼,這會影響腳本流程。

試試這個 ;)

user="jonnDoe"
dbname="customers"
password="VerySecret"

mysql -u $user -D $dbname -p $password -e "select Col1 from Table1 where Condition;" > /home/$user/queries/Col1Table1Cond
mysql -u $user -D $dbname -p $password -e "select Col5 from Table2 where Condition;" > /home/$user/queries/Col5Table2Cond

更好的做法是在mysql/etc/mysql/my.cnf文件裡面配置密碼,這樣就不用每次都輸入了:

[client]
password    = your_password

在後一種情況下,從以前的腳本中刪除所有與密碼相關的東西

引用自:https://unix.stackexchange.com/questions/312208