FW:如何將密碼傳遞給mysql命令行

如何將密碼傳遞給mysql命令行

codeday · 2019-09-23 閱讀數 171
本文來自 codeday ,作者 codeday
當我嘗試使用它時,我將 mysql密碼保存在文件foo.php上,例如P455w0rd:

 

$cat foo.php | grep '$dbpwd=' | cut -d '"' -f 2 | mysql -U root -p mydb -h friendserver
Enter password: (holds)

$echo P455w0rd | mysql -u root -p mydb -h friendserver
Enter password: (holds)

這兩個選項仍然要求輸入密碼,從stdin發送密碼的正確方法是什麼?

最佳答案
你必須非常小心地將密碼傳遞給命令行,因爲如果你不小心,你最終會使用諸如ps之類的工具將其打開以進行嗅探.

最安全的方法是創建一個新的配置文件,並使用–defaults-file =或–defaults-extra-file =命令行選項將其傳遞給mysql.

兩者之間的區別在於除了默認配置文件之外還讀取後者,而使用前者,只使用作爲參數傳遞的一個文件.

您的其他配置文件應包含類似於:

 

[client]
user=foo
password=P@55w0rd

確保您保護此文件.

然後運行:

mysql --defaults-extra-file=<path to the new config file> [all my other options]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章