我想要用Cmd可以像SecureCRT一樣遠程連接數據庫,查詢數據,因為用cmd的話可以用批處理,方便腳本調用
第一步:直接使用命令
mysql –h ip –u user –p,本地運行了該命令提示不是內部或外部命令,需要本地安裝Mysql,大概是這個命令可以通過Mysql解釋吧,然后才可以執行。
第二步:安裝Mysql
安裝Mysql后添加了環境變量,執行命令成功,查詢數據庫返回中文內容時cmd返回亂碼。
第三步,嘗試解決亂碼
通過命令chcp 65001(改回gdk為chcp 936)修改cmd編碼為utf8,網上說還需要改下字體為Lucida Console,看了下屬性改成utf8后除了這個字體就是Consolas了,沒有宋體,改過后數據返回中文仍然是亂碼。CRT編碼設置為utf8字體為新宋體,顯示無亂碼,難道是字體的問題么?
第四步:思考連接數據庫機制
SercureCRT通過ssh協議連接,utf8編碼新宋體,無亂碼
Navicat不用特別設置也無亂碼
Cmd特別設置了之后仍然有亂碼
前兩個連接數據庫的方式是,先登錄到linux遠程機器,再操作數據庫,本地無需裝Mysql,相當於在linux環境下查詢,cmd的連接數據庫的方式是直接連到數據庫需要本地安裝Mysql進行解釋(具體怎樣連接還不知道),所以環境是本地即Windows,所以也可能是不同操作系統的編碼問題導致亂碼感覺解決起來比較困難,就先不研究了等有需求的時候再說。
第五步:今天學到的
后來又嘗試了在cmd上通過telnet登陸linux,期望登陸后可以像CRT那種工作方式一樣操作數據庫應該就沒亂碼了吧?結果是連接失敗了,因為linux沒開放telnet端口不安全。這樣我又有了新問題:協議到底是啥、存在的意義是什么,為什么應用層有那么協議、用一個不行么。查到的答案如下:協議相當於計算機之間的通信語言,有了統一的標准才可以互相通信,理解不同計算機之間的信息交流。而應用層的那么多協議呢,不同的協議有不同的用處,沒必要完全放到一起造成一個協議非常龐大,按作用來區分比較好處理。還知道了連接linux的軟件putty也比較好用,之前一直以為只有CRT呢,汗。
用了不少時間研究這些,但總算也學到了一些新知識,發現自己在有問題需要解決的時候之前總是不自信、焦慮,比如查一個問題就一直在搜百度,一個答案一個答案的看,反而很浪費時間,大概潛意識認為自己解決不了期望看到馬上可以解決問題的答案吧。相信自己,慢慢來,都會解決噠。
最近定義了自己的三個人生信條。1.活在當下
2.跟隨自己的心
3.愛自己
2015.4.16