假設我想訪問 mysql 伺服器並使用 bash 腳本列印本機主機中的所有表和資料庫及其資料。
我的腳本看起來像:
mysql -u root -p 密碼
執行腳本後,將開啟 mysql shell 而不是 bash。那麼如何使用 mysql 運行指令呢?
另外,我應該執行什麼命令來列印所有資料庫、表格及其資料?
編輯:我現在知道應該使用哪個命令,但問題仍然存在:
我需要將其放入腳本中,但是當輸入 mysqldump 命令時,它會互動式地要求輸入密碼。
那麼如何在 bash 腳本中處理密碼呢?
答案1
答案2
試試這個..
mysqldump -u root -p databasename > filename.sql
所有表格都儲存在 filename.sql 中。它就像備份一樣。
如果您想將表格儲存回資料庫中,請使用此命令。
mysqldump -u root -p databasename < filename.sql
答案3
如果執行man mysqldump
,您將得到以下輸出:
--密碼[=密碼], -p[密碼]
連接到伺服器時使用的密碼。如果使用短選項形式 (-p),則選項和密碼之間不能有空格。如果在命令列上省略 --password 或 -p 選項後面的密碼值,mysqldump 會提示輸入密碼值。
在命令列上指定密碼應該被認為是不安全的。請參閱第 6.1.2.1 節「密碼安全的最終使用者指南」。您可以使用選項檔案來避免在命令列上提供密碼。
假設您的 root 密碼是 PASSWORD,只需嘗試以下命令:
mysqldump -u root -pPASSWORD --all-databases > database.sql