dov*_*vah 1 scripting bash mysql
我想运行多个 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
Run Code Online (Sandbox Code Playgroud)
执行脚本是不够的,因为<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
Run Code Online (Sandbox Code Playgroud)
/etc/mysql/my.cnf
文件,这样就不用每次都输入了:[client]
password = your_password
Run Code Online (Sandbox Code Playgroud)
在后一种情况下,从以前的脚本中删除所有与密码相关的内容