| 參數 | 短參數 | 功能 | 適用場景 |
|---|---|---|---|
--compress | -C | 壓縮客戶端-伺服器傳輸封包 | 跨機房/低頻寬/高延遲網路環境 |
--debug[=options] | -# | 輸出除錯追蹤到檔案 | 開發除錯、回報 Bug 提供追蹤 |
--force | -f | 遇錯誤繼續執行後續 SQL | 自動化部署腳本、大量匯入容忍部分失敗 |
--pager[=cmd] | -P | 指定分頁器 (less/more/cat) | 結果集過大需翻頁檢視 |
--xml | -X | 查詢結果輸出 XML 格式 | 程式解析、異系統整合、API 測試 |
--one-database | -o | 僅執行指定資料庫的 SQL,忽略其它 | 從全庫備份中單庫恢復、防 SQL 注入誤執行 |
--tee=file | -T | 將互動輸出同時寫入檔案 (log) | 操作審計、離線分析、教學紀錄 |
--wait | -w | 連線失敗重試 (預設 60 秒間隔) | 等待 Master 啟動、網路抖動自動重連 |
--safe-updates | -U | 拒絕無 WHERE/LIMIT 的 UPDATE/DELETE | 防手滑刪全表、新手保護模式 |
--prompt=format | 自訂提示符 (支援 \d \u \h \t 等) | 多環境切換快速識別、顯示當前資料庫/時間 |
mysql --host=prod-read --user=ro_user --password --safe-updates --prompt="PROD [\d]> "
mysql -h us-east.db -u admin -p --compress --wait --tee=/var/log/mysql_ops_$(date +%F).log
mysql --xml --force -e "SOURCE /sql/batch.sql" > result.xml 2>&1
mysql --pager="less -S" -e "SELECT * FROM huge_table;"
# -S 截斷長行不換行,左右鍵捲動
| 代碼 | 意義 | 範例輸出 |
|---|---|---|
| \d | 當前資料庫 | mydb |
| \u | 用戶名 | root |
| \h | 主機 | localhost |
| \p | 埠號 | 3306 |
| \t | 時間 (24h) | 14:35:22 |
| \v | 伺服器版本 | 8.0.33 |
| \_ | 空格 |
範例:--prompt="\u@\h:\d [\t]> " → root@localhost:mydb [14:35:22]>
編輯 ~/.my.cnf (Linux) 或 my.ini (Windows) [mysql] 區段:
[mysql]
safe-updates
pager = less -S
prompt = "\\u@\\h:[\\d] \\t> "
compress