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,都一并整理下。
MySQL客户端对比
Navicat
DataGrip
Heidisql
SQLyog
MySQL Workbench
DBeaver
論顔值的話,Navicat,DataGrip都不錯。其中DataGrip的sql自動補全功能更是强大,但它有個致命傷,跑個命令幾乎要等3s才能看到結果。。(有可能是設置問題)只好放棄了。
Navicat顔值也不錯,但是用不慣它的快捷鍵,也沒法改。速度嘛也一般,沒啥亮點。
SQLyog速度不錯,還是快捷鍵用不慣,沒法改。且以上三款都是要收費的,而且價格不便宜。
MySQL Workbench和DBeaver感覺中規中矩。
最終選擇了Heidisql,因爲它有兩個我很喜歡的功能
從連接上數據就就開始的執行log,很清楚這個軟件在後臺執行了什麽,對開發者很友好
支持打開CLI Console
這真是個面嚮開發者的工具,當然也有些bug,還好可以接受。
最後,其實最靠譜的還是mysql命令行。。
docker運行mysql
用localhost連接的話,會使用本地的sock file,不走網卡,導致連接不了。
SSH tunnel連接mysql
好不容易配置了mysql client環境,當然不能只能在本地使用。
爲了連接方便,我又在my.cnf裏增加了如下配置,然後通過mysql --defaults-group-suffix=_db02來選擇數據庫。
最后更新于