使用bat指令碼執行MySQL命令時遇到的坑

陳軟體發表於2018-08-31

相關文章:(推薦)bat指令碼執行mysql命令匯入sql檔案到資料庫 https://blog.csdn.net/womenrendeme/article/details/75799515

 

背景:

作為一個初級小白,因為前段時間接觸了專案的實施部署,發現,在資料庫匯入資料或更新資料庫時,原來除了使用navicat這樣一些工具外,也可以使用bat批量命令列,對於實施人員來說其實更簡單。

建立一個bat檔案,內容如下(圖中有錯,正確版請看文章最後):(圖中的01、02兩個sql檔案和bat檔案放在同個目錄下)

在後期整理中,想學習一下,於是在自己的開發環境試了一下,發現一些問題,記錄如下:

 

坑一:  ”mysql不是內部命令也不是可執行的程式“

原因:沒有配置MySQL的環境變數

解決:配置方式類似於JDK的配置。將MySQL的安裝路徑下的bin目錄,將路徑新增到系統變數的path屬性中即可,注意要加;與其它分隔。

 

坑二:“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor)”

原因:出現這個問題,一般就是資料庫連線引數有問題,主機,使用者名稱,密碼等

解決:我是寫錯了密碼,所以換了正確的密碼即可。當然,網上有許多關於這個報錯的討論,通常是忘記了密碼需要重設等,具體請參考:

https://www.cnblogs.com/qq78292959/p/3641972.html

https://blog.csdn.net/lisongjia123/article/details/57418989

 

坑三:“ERROR 1043<08S01>: Bad handshake”

原因:查了以下錯誤程式碼,發現是”無效連線“。

解決:未解決,網上很少資料,查了一下好像是MySQL版本的問題,因為連線的庫不在本地無法確定版本,也改不了,所以無法解決,求等大神指導!

請參考:https://lists.mysql.com/mysql/175966

為了繼續進行下去,我在本地拷貝配置了一個資料庫,本地版本MySQL8.0,則不再出現這個報錯。

 

坑四:“ERROR 1046 (3D000) at line 15: No database selected”

原因:字面上看,就是”沒有選擇資料庫“

解決:其實,就是bat命令裡面的命令列引數漏了資料庫名。。。(不要問我為什麼犯這種低階錯誤,這是之前專案實施文件已有的檔案。。。真不知道之前是怎麼執行的。。。),最終修改後如下:

雙擊執行該bat檔案,成功!完美!

總結:還是好好用navicat吧!除了像我們這種開發,實施維護人員應該更加熟練了!當然,批處理命令是完全封裝好了,實施人員雙擊傻瓜式操作確實最簡單,這塊自己完全是小白,有機會可以好好研究一下!

 


結束和宣告

以上純屬個人觀點和體會,相關的資料和觀點來自網路的朋友們!
希望這篇文章能對你有所幫助! 
歡迎大家來一起討論分享乾貨,或者批評指正! 
更加熱切盼望各路大神前輩給些指導和建議!
轉載請註明出處!或者聯絡我!(chenruijia_java@163.com)

 

 

 

相關文章