本文分享下自己在學習shell過程中如何連接數據庫的腳本,本人使用的是MySQL5.7,在連接過程中遇到了一個麻煩,總是報錯:Using a password on the command line interface can be insecure.大致意思就是:在命令行界面上使用密碼可能不安全。后來在網上查了下大多數解決情況就是更改mysql配置文件my.conf或者將錯誤信息重定向到/dev/null中,但是以上兩種方法感覺都比較麻煩,后來在這個博客:https://blog.csdn.net/w1213096890/article/details/79486754中看到一種用的是更改環境變量的方法,這種方法感覺比較方便,在這里便使用這種方法export MYSQL_PWD=“password”,這樣在連接數據庫的時候就不用再輸入密碼了。以下是個人腳本,如果有錯誤的大家歡迎大家指正。
#!/bin/bash # 連接mysql數據庫,並查詢結果,將結果輸出到文件中 # 1.定義連接變量 mysql_u="root" mysql_p="******" save_f="mysql.txt" save_p="/home/path/study/linuxCommond/shell/" mysql_sq="select * from shell_one" export MYSQL_PWD=${mysql_p} echo "開始鏈接數據庫..." # 2.連接數據庫 result=`mysql -u$mysql_u << EOF use linux; $mysql_sq; quit EOF` # 判斷是否連接成功 if [ $? = 0 ] then echo "連接成功。。。" else echo "連接失敗。。。" exit fi echo "寫入查詢結果..." # 將結果寫入文本 echo "$result" >> $save_p$save_f echo "寫入完成..."
測試結果:
開始鏈接數據庫... 連接成功。。。 寫入查詢結果... 寫入完成...
以下是輸入到文本中得內容:
sid sname sage sgender sclass 1 張三 23 1 一班 2 李四 24 1 二班 3 王五 25 1 三班 4 趙六 26 1 一班 5 藍寶 20 0 一班 6 趙熒 22 0 二班