2017-02-15 83 views
0

我有一個調用mysql客戶端來運行各種任務的應用程序。由於各種原因,mysql被調用爲運行應用程序的用戶(這是安全模型的核心,並且如果更改則會影響功能)。目前,mysql的用戶名和密碼通過命令行傳遞給客戶端程序 - 顯然這不是一個理想的狀態。使用自定義my.cnf運行mysql客戶端

覆蓋$ HOME/my.cnf文件不是一個理想的解決方案 - 可能存在針對不同(本地和/或遠程)數據庫運行的多個併發任務。對數據庫的訪問必須經過認證。

有沒有辦法將自定義my.cnf文件(或其他方式安全地傳遞用戶名和密碼)傳遞給mysql客戶端,而無需模擬交互式登錄?

(在mysql: unknown variable 'username=my_db_user'

回答

1

提供使用--defaults文件或--defaults-額外的文件結果的my.cnf文件,您已經測試了這個

$ cat .my.cnf 
[client] 
user=root 
password=rootpw 

$ mysql --defaults-file=/Pathtomycnf/.my.cnf 

MariaDB [(none)]> quit 
Bye 
+0

感謝嗎? - 問題是,我有'用戶名'而不是'用戶':) – symcbean