項目上線是每一個開發工程師面臨收穫前面抓緊時間開發的成果,但有時我們上線項目首先需要做一些相關的業務測試。通過Xshell遠程連接後使用命令行的方式連接操作Mysql這個沒什麼太大的你問題。但每次通過命令這種繁瑣的功夫不是程式員應該乾的事情,學習還尚可,但是對於開發。效率二字不能離口。 這不,採用本 ...
項目上線是每一個開發工程師面臨收穫前面抓緊時間開發的成果,但有時我們上線項目首先需要做一些相關的業務測試。通過Xshell遠程連接後使用命令行的方式連接操作Mysql這個沒什麼太大的你問題。但每次通過命令這種繁瑣的功夫不是程式員應該乾的事情,學習還尚可,但是對於開發。效率二字不能離口。
這不,採用本地的Navicat工具直接連接到遠程的MySQL8就出事情啦,所以希望這篇文章能夠幫助到大家一些相關的開發。
第一步:
打開Navicat工具,編輯連接中的連接信息,分別是配置常規連接與SSH連接
常規連接:用於直接和雲服務上的資料庫打交道,比較資料庫不在本地
SSH連接:用於本地的Navicat和伺服器直接建立連接通信。所以必須要要登錄,不登錄你怎麼找別人呢?
當我們配置好這2步之後,就需要開始在雲伺服器上面進行相關配置操作了。接下來也是錯誤的處理步驟。
在配置雲伺服器上面的MySQL之前,首先需要讓你MySQL的伺服器啟動,並且需要監聽到MySQL的執行埠號,這裡我是3306,如果你伺服器改變為其它的請自行調整。如果伺服器啟動了,沒監聽到埠那麼也是連接不到的。
1.本地測試後,可能會報錯2003
這個是騰訊雲網路和安全組沒有開放3306。登錄控制台在安全組,配好了3306埠,果然navicat不再報2003,轉而出現了1251錯誤。
2.連接報錯1251錯誤
這個問題相對就好解決,因為它有針對性,這個問題是因為8.0之後的加密規則發生了改變,navicat的預設規則與之不符,所以,可以把伺服器上的mySql的加密規則改為之前的加密規則:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
註意,這裡是@localhost,如果你已經把localhost改為了%,那這裡應該是:
mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
修改完加密規則後,應該重置一次密碼,規則是mysql_native_password:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密碼';
這樣,就發現navicat可以連上了。
如果有雲服務相關技術問題,或者需要navicat 工具包的可以進入群聊交流並獲取工具