首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 命令行參數完整詳解:連線、輸出、效能、安全與調試選項全覆蓋

     編輯:MySQL 綜合教學

mysql 客戶端參數大全:從連線到輸出格式的完全控制

mysql 是最核心的命令行客戶端,掌握其參數能大幅提升日常操作與自動化腳本效率。

參數分類速查表

類別核心參數說明
連線認證-u, --user用戶名
-p, --password[=pwd]密碼(不帶值會提示輸入,更安全)
-h, --host主機名/IP(預設 localhost)
-P, --port埠號(預設 3306)
預設環境-D, --database預設資料庫(等同 USE db)
--default-character-set連線字符集(如 utf8mb4)
--delimiter語句分隔符(預設 ;)
輸出格式-E, --vertical垂直顯示
-H, --htmlHTML 表格輸出
-X, --xmlXML 輸出
-t, --table表格輸出(預設,交互模式)
-B, --batch批次模式(Tab 分隔,無框線,適合腳本)
執行控制-e, --execute直接執行 SQL 字串(不進入交互)
-f, --force錯誤繼續執行
-v, --verbose輸出執行的 SQL
-q, --quick不緩存結果,逐行輸出(大結果集節省記憶體)
安全/SSL--ssl啟用 SSL
--ssl-ca/--ssl-cert/--ssl-keyCA/客戶端證書/私鑰路徑
--secure-auth拒絕舊版認證插件
調試/開發--debug除錯追蹤
-A, --no-auto-rehash禁用自動補全(啟動更快)
--show-warnings每條語句後顯示警告

高頻實戰組合範例

1. 自動化腳本:批次模式 + 執行 SQL + 垂直顯示


mysql -uroot -p'pwd' -D test -B -e "SHOW TABLES;"
# 輸出:純文本 Tab 分隔,無框線,適合管道處理

2. 遠端管理:指定主機/埠/SSL/壓縮


mysql -h db.prod.example.com -P 3306 -u admin -p --ssl --compress -e "SHOW SLAVE STATUS\G"

3. 字符集診斷:強制指定連線字符集


mysql -uroot -p --default-character-set=gbk -e "SHOW VARIABLES LIKE '%char%';"

4. 自定義提示符:區分環境防誤操作


mysql -uroot -p --prompt="PROD \u@\h [\d]> "
# 顯示:PROD root@db-prod [test]>

5. 分頁查看大結果集(Linux)


mysql -uroot -p --pager="less -S" -e "SELECT * FROM big_table;"
# -S 禁用換行,左右鍵水平滾動

6. 輸出到檔案(tee)


mysql -uroot -p --tee=/tmp/mysql_session.log
# 會話所有輸出同時寫入檔案

避坑指南

  • 密碼安全:-ppassword(無空格)會在進程列表洩露,生產環境必須用 -p 互動輸入或 --defaults-extra-file
  • 批次模式:-B 會禁用歷史紀錄、自動補全、表格框線
  • 快速模式:-q 配合大結果集導出,避免客戶端 OOM
  • 版本差異:MySQL 8.0 移除部分舊參數,以 mysql --help 為準

配置檔替代命令行參數


# ~/.my.cnf (Linux) 或 %APPDATA%\my.ini (Windows)
[client]
user = root
password = "your_password"
host = 127.0.0.1
port = 3306
default-character-set = utf8mb4
prompt = "\\u@\\h [\\d]> "

權限設為 600,命令行無需帶參數即可連線,更安全、更便捷。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved