使用 bash 存取 mysql 伺服器本機主機

使用 bash 存取 mysql 伺服器本機主機

假設我想訪問 mysql 伺服器並使用 bash 腳本列印本機主機中的所有表和資料庫及其資料。

我的腳本看起來像:

mysql -u root -p 密碼

執行腳本後,將開啟 mysql shell 而不是 bash。那麼如何使用 mysql 運行指令呢?

另外,我應該執行什麼命令來列印所有資料庫、表格及其資料?

編輯:我現在知道應該使用哪個命令,但問題仍然存在:

我需要將其放入腳本中,但是當輸入 mysqldump 命令時,它會互動式地要求輸入密碼。

那麼如何在 bash 腳本中處理密碼呢?

答案1

mysql轉儲這就是你想要的。

使用範例:

mysqldump -u root -p --all-databases

請參閱手冊以了解更多適合您特定情況的開關。

答案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

相關內容