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

MySQL 客戶端連線完全指南:互動、批次、選項檔與輸入編輯

     編輯:MySQL 綜合教學

mysql 客戶端概覽

mysql(終端監視器)是官方互動式命令列工具,支援互動模式與批次模式,內建 GNU Readline 提供輸入行編輯、歷史指令回溯。

建立連線

基本語法

mysql [options] [db_name]

常用連線參數

短參數長參數說明
-h host--host=host伺服器主機,本機可省略
-u user--user=userMySQL 帳號,Unix 預設為登入用戶
-p--password提示輸入密碼(最安全)
-p pass--password=pass命令列直接給密碼(歷史紀錄會洩露,不建議)
-P port--port=portTCP 埠號,預設 3306
-S socket--socket=socketUnix socket 路徑
-D db--database=db預設資料庫(等同 USE db)
-e "SQL"--execute="SQL"執行單條 SQL 後退出,適合腳本

連線範例

# 本機 root 互動
mysql -u root -p
# 遠端連線指定資料庫
mysql -h db.example.com -u app_user -p mydb
# 批次執行 SQL 檔
mysql -u root -p mydb < backup.sql
# 一行指令查詢版本
mysql -u root -p -e "SELECT VERSION();"

選項檔簡化連線

檔案位置與優先順序

  1. /etc/my.cnf(全域)
  2. /etc/mysql/my.cnf
  3. ~/.my.cnf(用戶)
  4. 資料目錄 my.cnf(不建議用於 datadir 設定)

範例:~/.my.cnf

[client]
user=root
password=your_password
host=localhost
port=3306

[mysql]
prompt="\\u@\\h [\\d]> "
auto-rehash

安全提示:檔案權限設為 600(chmod 600 ~/.my.cnf),僅擁有者可讀寫。若不想寫密碼,僅寫 password 不給值,啟動時會提示輸入。

輸入行編輯(GNU Readline)

按鍵功能
↑ / Ctrl+P上一條歷史指令
↓ / Ctrl+N下一條歷史指令
← / Ctrl+B游標左移
→ / Ctrl+F游標右移
Esc+B / Esc+F按單字後退/前進
Ctrl+A移至行首
Ctrl+E移至行尾
Ctrl+D / Delete刪除游標字元
Esc+D刪除游標至字尾
Esc+Backspace刪除游標至字首
Ctrl+K刪除游標至行尾
Ctrl+_撤銷

Windows 版 mysql.exe 不支援 Readline;可安裝 Cygwin 的 mysqlc 或使用 mysqlsh(Shell)獲得更豐富體驗。

批次模式

# 執行 SQL 檔
mysql -u root -p < batch.sql
# 管線配合分頁器
mysql -u root -p < batch.sql | more
# 輸出導向檔案
mysql -u root -p < batch.sql > output.txt
# 批次檔內容範例
USE mydb;
SELECT * FROM users WHERE created_at > '2024-01-01';
-- 註解行以 -- 或 # 開頭

批次模式優勢

  • 避免重複輸入、便於版控與代碼審查。
  • 開發複雜查詢時,修改腳本重跑比互動修改高效。
  • 輸出可導向檔案、管線給其他工具處理。
  • 自動化部署、定時任務、ETL 流程的基礎。

結束會話

quit
exit
Ctrl+D (Unix)

結語

精通 mysql 客戶端的連線參數、選項檔、輸入編輯與批次模式,能大幅提升日常管理、開發除錯與自動化腳本的效率。建議將常用參數寫入 ~/.my.cnf,並養成批次腳本管理 SQL 的習慣。

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