MySQL的彩色提示符
最后更新于
最后更新于
其實我對MySQL本身并不是很瞭解,但是之前卻花了不少時間來折騰MySQL的命令行和客戶端。所謂工欲善其事,必先利其器。習慣了Linux下的彩色提示符,自然也想配個彩色的mysql命令行提示符(雖然沒什麽用,但就是想)。在此把過程整理下,留作將來。
mysql命令行的彩色提示符,已經有方法了,是通過設置如下MYSQL_PS1
實現的:
export MYSQL_PS1=$(echo -e "\x1B[31m\\u\x1B[34m@\x1B[32m\\h\x1B[0m:\x1B[36m\\d>\x1B[0m ")
簡單分析下,1B
對應的是Esc
的ascii碼的十六進制,同理八進制就是33
。
\x
和\0
分別表示轉義十六進制和八進制,所以\x1B
和\033
都表示Esc
這個字符,如果單純用轉義符號表示的話就是\e
。
[31m
是個顔色符號,表示紅色,[0m
表示顔色終止。設置完成后效果如下
但是爲了管理方便,我想把它寫到my.cnf
的prompt
設置裏,但是mysql配置文件似乎不支持如上的轉義,所以必須將Esc
打出來。
在vim裏用Ctrl+V
+Esc
可以打出Esc
字符,效果如下:
需要注意的是,Esc
字符是不可見的,有些編輯器會顯示其為一個字符,不過不同編輯器的顯示會有不同。
除了彩色提示符,我還折騰了其他一些亂七八糟的,比如MySQL的客戶端對比,ssh隧道鏈接mysql,都一并整理下。
Navicat
DataGrip
Heidisql
SQLyog
MySQL Workbench
DBeaver
論顔值的話,Navicat,DataGrip都不錯。其中DataGrip的sql自動補全功能更是强大,但它有個致命傷,跑個命令幾乎要等3s才能看到結果。。(有可能是設置問題)只好放棄了。
Navicat顔值也不錯,但是用不慣它的快捷鍵,也沒法改。速度嘛也一般,沒啥亮點。
SQLyog速度不錯,還是快捷鍵用不慣,沒法改。且以上三款都是要收費的,而且價格不便宜。
MySQL Workbench和DBeaver感覺中規中矩。
最終選擇了Heidisql,因爲它有兩個我很喜歡的功能
從連接上數據就就開始的執行log,很清楚這個軟件在後臺執行了什麽,對開發者很友好
支持打開CLI Console
這真是個面嚮開發者的工具,當然也有些bug,還好可以接受。
最後,其實最靠譜的還是mysql命令行。。
用localhost連接的話,會使用本地的sock file,不走網卡,導致連接不了。
好不容易配置了mysql client環境,當然不能只能在本地使用。
爲了連接方便,我又在my.cnf
裏增加了如下配置,然後通過mysql --defaults-group-suffix=_db02
來選擇數據庫。