消除Warning: Using a password on the command line interface can be insecure的提示


最近在部署Zabbix時需要用腳本取得一些MySQL的返回參數,需要是numberic格式的,但是調用腳本時總是輸出這一句:

Warning: Using a password on the command line interface can be insecure.

grep -v也是處理不掉的,很是煩人,在網上翻了翻解決掉,記錄於此:

Mysql命令有個如下參數:

--defaults-extra-file=# Read this file after the global files are read.

因此編輯一個password.txt的文件:

[client]
user=leo	
password=leo

腳本中的MySQL連接使用mysql --defaults-extra-file=password.txt的格式,這樣就不會報insecure的報錯啦。

后來查看mysql命令行的manual,發現個更簡潔的辦法:

因為mysql命令讀取配置文件的順序為/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf,所以可以將賬號密碼寫入~/.my.cnf中,這樣執行時只需要指定-u參數即可,注意此文件權限建議設置為600。

# ~/.my.cnf示例:
[client]
user=root
password=<你的密碼>
# 上述的[client]也可以替換為[mysql]

注意:

這個報錯是和mysql client相關的,如果你使用低版本的mysql客戶端,那么就不會報錯。例如你使用mysql-5.1.73-5.el6_6.x86_64包安裝的/usr/bin/mysql就不會產生這個warning,使用MySQL5.7或者8.0的mysql命令就會有此報錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM