簡體   English   中英

避免從腳本運行 MySQL 的命令行密碼不安全

[英]Avoid command-line password insecurity running MySQL from a script

我有一個登錄 MySQL 並創建數據庫的 bash 腳本。 它有一個請求 MySQL 憑據(用戶名和密碼)然后執行的序列

read username
read password
read databasename
mysql -u$username -p$password -e "CREATE DATABASE $databasename;"

每當我運行此腳本時,都會收到警告“在命令行界面上使用密碼可能不安全”

創建這樣的腳本的正確、安全的方法是什么,您需要登錄到 MySQL 然后運行命令?

如果您鍵入ps aux ,您可以看到當前在計算機上執行的每個程序,包括命令行參數。 所以......話說,“使用命令行界面上的密碼可以是不安全的”是一個巨大的輕描淡寫。

有關其他選項,請參閱文檔 具體來說,制作一個憑證文件,確保它只能由您讀取,然后填寫您的身份驗證詳細信息。

您可以使用mysql_config_editor存儲您的登錄詳細信息:

mysql_config_editor set --login-path=local --host=localhost --user=username --password=password

然后運行您的命令行查詢,如:

mysql --login-path=local -e "statement"

請參閱本教程 有一種替代方法可以直接為舊版本的 mySQL 編寫配置文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM