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

MySQL 命令列登入完全指南:參數詳解、常用模式與實戰測試

     編輯:MySQL 綜合教學

MySQL 命令列登入完全指南:參數詳解、常用模式與實戰測試

命令列是 DBA 與開發者操作 MySQL 最基礎、最高效的方式。本文系統整理 mysql 客戶端登入參數、多種簡寫模式、登入後驗證操作,並附圖文實戰演示,助你掌握專業級命令列操作技巧。

一、標準登入語法

mysql -h <主機> -u <用戶> -p<密碼> -P <端口> -D <資料庫>

二、核心參數詳解

參數全寫說明必填範例
-h--hostMySQL 伺服器地址(IP 或主機名)否(預設 localhost)-h 192.168.1.100
-u--user登入用戶名是-u root / -uroot
-p--password密碼,**緊跟參數無空格**;若只寫 -p 會交互式提示輸入否(建議交互式)-p123456 / -p
-P--port連接埠(大寫 P)否(預設 3306)-P 3307
-D--database直接進入指定資料庫否-D mydb
-e--execute執行單條 SQL 後退出(適合腳本)否-e "SELECT VERSION();"
--socket-指定 Unix socket 路徑(Linux 本地連接)否--socket=/tmp/mysql.sock
--protocol-強制協議:TCP、SOCKET、PIPE、MEMORY否--protocol=TCP

⚠️ 關鍵細節:-p 與密碼之間**不能有空格**。-p123 正確,-p 123 會被解析為「無密碼登入」並將 123 視為資料庫名。

三、常用登入模式對照表

模式命令範例適用場景
完整參數mysql -h localhost -u root -p123456腳本自動化、非本機連接
簡寫用戶名mysql -uroot -p123456日常操作慣用
交互式輸入密碼(推薦)mysql -u root -p安全性最高,歷史不留密碼
僅用戶名交互式mysql -uroot -p同上,更簡潔
指定資料庫直入mysql -uroot -p -D mydb已知操作目標庫
執行單條 SQL 退出mysql -uroot -p -e "SHOW DATABASES;"Shell 腳本、監控採集

四、實戰圖文演示

1. 基本登入流程

MySQL 命令列登入示例

輸入 mysql -u root -p 後按 Enter,提示 Enter password: 盲輸密碼,登入成功進入 mysql> 提示符。

2. 登入後狀態

MySQL 登入後介面

顯示歡迎資訊、連線 ID、Server 版本、版權聲明、幫助提示。

3. 執行 SQL 測試

執行 SQL 查詢示例

演示操作:

mysql> USE emcs72;
Database changed
mysql> SHOW TABLES;
+-------------------+
| Tables_in_emcs72  |
+-------------------+
| ...               |
+-------------------+

五、進階實用技巧

1. 讀取密碼檔案(避免明文出現在歷史/進程列表)

# 建立 .mylogin.cnf(加密儲存)
mysql_config_editor set --login-path=local --host=localhost --user=root --password

# 使用登入路徑
mysql --login-path=local

2. 批次執行 SQL 檔案

mysql -uroot -p < backup.sql
# 或
mysql -uroot -p -e "SOURCE /path/to/backup.sql;"

3. 常用內建命令

命令縮寫功能
SHOW DATABASES;\d列出所有資料庫
USE db_name;-切換資料庫
SHOW TABLES;-列出當前庫所有表
DESC table_name;-查看表結構
SHOW CREATE TABLE tbl;-查看建表語句
STATUS;\s顯示連線狀態、編碼、版本等
EXIT / QUIT\q退出客戶端

4. 提示符自訂

mysql --prompt="\u@\h [\d]> "
# 顯示:root@localhost [mydb]>

六、常見問題排查

現象原因解決
ERROR 2003 (HY000): Can't connect to MySQL server服務未啟動 / 防火牆 / host/port 錯誤 / skip-networking檢查服務狀態、3306 端口、配置檔 bind-address
ERROR 1045 (28000): Access denied for user 'root'@'localhost'密碼錯誤 / 用戶不存在 / Host 不匹配 / 權限表損壞重置密碼、確認 user 表、檢查 skip-grant-tables
中文顯示亂碼字符集不匹配SET NAMES utf8mb4; 或配置 default-character-set=utf8mb4
命令未找到mysql 不在 PATH 中將 bin 目錄加入系統 PATH 或用絕對路徑

七、延伸學習資源

專業習慣:生產環境**嚴禁**在命令列明文輸入密碼(-p123),務必使用 -p 交互式輸入或 mysql_config_editor 加密登入路徑。將常用連線資訊配置在 ~/.my.cnf [client] 區段,日常操作只需輸入 mysql 即可。

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