頻繁切換數據庫時,不知道當前連線是哪個實例、哪個庫、哪個用戶,極易誤操作。MySQL 客戶端內建 --prompt 參數與 my.cnf 配置,能將關鍵上下文直接顯示在提示符中。本文給出生產級配置模板與完整選項表。
mysql -uroot -p --prompt="\\u@\\h:\\d \\r:\\m:\\s>"
# 登入後提示符變為:
root@localhost:(none) 08:23:32>
use test;
root@localhost:test 08:23:44>
含義:用戶@主機:當前庫 時:分:秒>
[mysql]
prompt="mysql(\\u@\\h:\\d)>"
default-character-set=utf8
重啟服務後自動生效:
mysql(root@localhost:(none))>
use test;
mysql(root@localhost:test)>
| 選項 | 含義 | 示例輸出 |
|---|---|---|
\\u | 用戶名 | root |
\\h | 服務器主機名 | localhost |
\\d | 當前默認數據庫 | test / (none) |
\\r | 當前時間 12 制 | 08 |
\\m | 分鐘 | 23 |
\\s | 秒 | 32 |
\\R | 當前時間 24 制 | 20 |
\\D | 完整日期 | 2023-01-15 |
\\Y | 四位年份 | 2023 |
\\y | 兩位年份 | 23 |
\\w | 星期縮寫 | Mon |
\\O | 月份縮寫 | Jan |
\\o | 月份數字 | 01 |
\\P | am/pm | am |
\\p | TCP 埠/Socket 文件 | 3306 |
\\c | 語句計數器 | 1,2,3... |
\\l | 當前分隔符 | ; |
\\S | 分號 | ; |
\\t | 製表符 | \t |
\\n | 換行符 | \n |
\\_ / \\ | 空格 | |
\\' / \\\" | 單/雙引號 | ' / " |
\\\\ | 反斜杠 | \ |
\\U | 完整 user@host | root@localhost |
\\v | 服務器版本 | 5.7.42 |
# 方案一:極簡模式(適合窄終端)
prompt="\\u@\\h:\\d>"
# 方案二:標準模式(含時間、計數器)
prompt="\\u@\\h:\\d [\\c] \\R:\\m:\\s>"
# 方案三:完整模式(含版本、完整日期)
prompt="\\U [\\v] \\D \\R:\\m:\\s \\d>"
# 方案四:顏色高亮(需終端支援 ANSI)
prompt="\\033[1;32m\\u@\\h\\033[0m:\\033[1;34m\\d\\033[0m \\R:\\m:\\s>"
/etc/profile.d/mysql-prompt.sh 導出 MYSQL_PS1 環境變量(MySQL 5.7+ 支援)。export MYSQL_PS1="\\u@\\h:\\d \\R:\\m:\\s>"safe-updates 參數:mysql --safe-updates 防止無 WHERE 的 UPDATE/DELETE 執行。一個好看的 Prompt,能省下無數次 SELECT DATABASE(); 和冷汗時刻。