前置配置:將 mysql.exe 加入 PATH
# 假設 MySQL 安裝於 D:\MySQL
# 1. 此電腦 → 屬性 → 高級系統設置 → 環境變量
# 2. 系統變量 Path 編輯 → 新增 → D:\MySQL\bin
# 3. 重啟 CMD 生效
基本連接命令
# 連接本機
mysql -h localhost -u root -p
# 連接遠程 (指定端口)
mysql -h 192.168.1.100 -P 3306 -u root -p
# 直接帶密碼 (不安全,僅測試用)
mysql -h 192.168.1.100 -u root -p'password'
# 執行單條 SQL 並退出
mysql -h 192.168.1.100 -u root -p -e "SHOW DATABASES;"
# 導入 SQL 文件
mysql -h 192.168.1.100 -u root -p db_name < backup.sql
常見連接失敗排查
| 錯誤 | 原因 | 解決 |
| ERROR 2003 (HY000) | 無法連接服務器 | 檢查 IP/端口/防火牆/bind-address |
| ERROR 1045 (28000) | 認證失敗 | 確認用戶名/密碼/主機權限('%'或具體IP) |
| ERROR 1130 (HY000) | 主機不允許連接 | GRANT ALL ON *.* TO 'user'@'%' IDENTIFIED BY 'pwd'; FLUSH PRIVILEGES; |
| ERROR 2026 (HY000) | SSL 連接錯誤 | 添加 --skip-ssl 或配置 CA 證書 |
進階技巧
- 跳過列名:
mysql -N -e "SELECT 1;" 適合腳本解析
- HTML 輸出:
mysql -H -e "SELECT * FROM t;" > report.html
- 垂直顯示:
mysql -E -e "SHOW PROCESSLIST;" (等同 \G)
- 批次模式:
mysql -B -e "SELECT * FROM t;" 制表符分隔,適合導出 CSV
安全建議
- 避免在命令行明文密碼,使用
--defaults-extra-file 指定配置文件
- 生產環境強制 SSL:
--ssl-mode=REQUIRED
- 限制 root 遠程登錄,創建專用只讀/讀寫賬號