MySQL 5.6 版本對安全性進行了增強,如果在命令中使用了 -ppassword ,就會有告警提示:Warning: Using a password on the command line interface can be insecure;
那么問題來了,我們經常用腳本完成一些工作,例如備份、監控、檢測等等,不同工作可能采用不同的MySQL用戶及權限,常用方式都是采用 -uusername -ppassword 內置到腳本中,這樣就會觸發告警。
如何解決呢?總結了一下,可以采取如下幾種方案:
方案一:將權限寫到配置文件里,通過 --defaults-extra-file= 方式加載。
方案二:通過MySQL 5.6 新增命令 mysql_config_editor(http://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.html) 來預置相關權限信息
方案三:將告警信息輸出到文件或丟棄,采用 2>/dev/null 或 2>/path/file 等方式,簡單粗暴有效,但容易忽略掉其他告警信息
方案四:通過環境變量存儲密碼,export MYSQL_PWD=password ; mysql -uusername,該方案簡單有效,推薦之.
在root用戶的自己profile中設置 MYSQL_PWD 環境變量,這樣在root用戶連接mysql時,就不需要密碼了
# vi ~/.bash_profile
export MYSQL_PWD=123456
# source ~/.bash_profile
原文引用:http://www.quwenqing.com/read-247.html
