首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 命令行提示符自定義完全指南:prompt 參數、轉義序列與四種配置方式

     編輯:MySQL 資料庫相關知識

MySQL 客戶端默認提示符 mysql> 信息極少。通過自定義 prompt,可在提示符中顯示當前用戶、主機、數據庫、時間、連接 ID 等關鍵上下文,大幅提升多環境操作的辨識度與安全性。本文詳解所有轉義序列、四種配置方式與最佳實踐配置。

四種配置方式(優先級由高到低)

1. 環境變量 MYSQL_PS1(會話級,臨時)

export MYSQL_PS1="(\u@\h) [\d]> "

2. 啟動參數 --prompt(單次連接)

mysql --prompt="(\u@\h) [\d]> "
# 顯示效果:(user@host) [database]>

3. 配置文件 [mysql] 區段(永久,推薦)

[mysql]
prompt=(\\u@\\h) [\\d]>\\_

注意:配置文件中反斜杠需雙重轉義 \\\\。

4. 交互命令 prompt(當前會話即時生效)

mysql> prompt (\u@\h) [\d]>_
PROMPT set to '(\u@\h) [\d]>_'
(user@host) [database]>

輸入 prompt 回車可恢復默認。

完整轉義序列速查表

序列含義示例輸出
\c當前會話語句計數器(遞增)12
\D完整日期2024-01-15
\d當前默認數據庫my_db
\h服務器主機名/IP192.168.1.10
\l當前分隔符(5.1.12+);
\m分鐘30
\n換行符(換行)
\O月份縮寫Jan
\o月份數字01
\PAM/PMPM
\pTCP 端口/Socket 文件3306
\R24 小時制時間14:30
\r12 小時制時間02:30
\S分號;
\s秒45
\tTab 字符(制表)
\U完整用戶名@主機名root@192.168.1.10
\u用戶名root
\v服務器版本8.0.33
\w星期縮寫Mon
\Y四位年份2024
\y兩位年份24
\_空格
\ 空格(反斜杠+空格)
\'單引號'
\"雙引號"
\\反斜杠本身\
\x任意未列出字符 x 原樣輸出x

推薦配置模板

生產環境(強調身份與庫)

[mysql]
prompt="\\U [\\d] \\R> "\
# 效果:root@192.168.1.10 [prod_db] 14:30:45> 

開發環境(簡潔)

[mysql]
prompt="(\\u@\\h) [\\d]> "\
# 效果:(root@localhost) [dev_db]> 

調試場景(含語句計數)

[mysql]
prompt="\\c:\\d> "\
# 效果:5:my_db>  (第 5 條語句)

實戰技巧

  1. 防誤操作:生產庫提示符顯眼顏色(需終端支持):prompt="\\033[31m\\U [\\d]\\033[0m> "(紅色)
  2. 多窗口區分:不同終端標籤頁配置不同前綴
  3. 腳本中動態切換:mysql --prompt="batch_\\d> " -e "..."

版本差異提示

  • MySQL 5.1.12+ 新增 \l(分隔符)
  • MariaDB 額外支持 \I(線程 ID)、\V(客戶端版本)

養成習慣:每台 MySQL 服務器首次登錄即配置 prompt,避免「以為在測試庫實則在生產庫」的血淚教訓。

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