MySQL Workbench failed to connect to mysql at 127.0.0.1:3306 through ssh tunnel?

執行維護系統管理的工作應該會接觸到許多伺服器系統、資料庫系統,為了協助系統的研發我們也常常會利用虛擬機建置許多不同版本的系統進行測試,MySQL Workbench 則是 Oracle 所推出的 MySQL 管理工具,某次操作 MySQL 管理工具與虛擬機的MySQL資料庫進行連線時發生錯誤,錯誤訊息為failed to connect to mysql at 127.0.0.1:3306 through ssh tunnel???,小弟也因為相關的錯誤訊息而找了很久但一直找不到解決的方法,於是仔細在看一次錯誤訊息

上面提到,你的連線金鑰有問題,請檢查是否正確,並留下一串路徑C:\Users\tcsu\AppData\Roaming\MySQL\Workbench\ssh\known_hosts file.依序關鍵路徑找到該hosts檔案,發現到確實有紀錄ip及金鑰





因為個人平常很懶惰,已經很習慣使用同一台虛擬機及私有固定ip,利用Snapshot或clone的方式複製許多台vm,來進行測試,因此我猜測,MySQL Workench 在建立連線時會自動產生金鑰並寫到windows C:\User中的資料夾裡,當我切換別台虛擬機vm時,MySQL Workench可能找不到對應的金鑰而發生錯誤,即便是同一個ip同樣的MySQL root 帳號及密碼,不論使用 3306 或者是 ssh 進行連線,MySQL Workench 系統自動會進行金鑰比對,偵測到不一致時就會發生錯誤。

解決方是很簡單,僅需至 known_hosts 文件中將要開啟的 ip 及金鑰刪除掉即可,在使用
MySQL Workench 重新連線時,會自動建立金鑰,便可正常登入。

留言

這個網誌中的熱門文章

c語言-關於#define用法

CMD常用網管指令

PHP 與 JavaScript 之間傳值利用 json