navicate 連接mysql8.0,個人踩坑問題匯總
本文目錄:
1:安裝mysql8.0新增全新驗證方式,安裝如果不修改mysql連接不上
2:mysql啟動命令問題
3:navicate 運程連接MySQL8需要修改root的host localhost 為%
詳細如下:
1:安裝mysql8.0新增全新驗證方式,安裝如果不修改mysql連接不上
我們在安裝MySql8.0+的版本時MySql將會詢問我們是否選擇全新的身份驗證方式,如下圖

⒈第一個是MySql推薦我們使用的強密碼加密模式來進行身份驗證
MySql8支持基於SHA256改進的更強的密碼身份驗證方法。建議以后所有新安裝的MySql Server都使用此方法。
注意:服務器端的這個新身份驗證插件需要新版本的連接器和客戶端,這些連接器和客戶端添加了對MySql8.0新的默認身份驗證支持(caching_sha2_password 密碼身份驗證)
目前,MySql 8.0連接器和使用libmysqlclient8.0的社區驅動程序支持這個新方法。
如果無法更新客戶端和應用程序以支持此新身份驗證方法,MySql8.0服務器可以配置為使用舊的MySql身份驗證方法。
⒉使用舊的身份驗證方法(保留MySql5.x兼容性)
僅在以下情況下才應考慮使用舊的MySql 5.x舊身份驗證方法:
如果無法更新應用程序來使用MySQL8及啟用新的連接器和驅動程序
無法重新編譯現有的應用程序
尚未提供更新的特定語言的連接器或驅動程序
安全指南:如果可能,我們強烈建議采取必要步驟將應用程序、庫和數據庫服務器升級到新的更強大的身份驗證這種新方法,因為它將大大提高您的安全性。
2:mysql啟動命令問題
a) cmd命令窗口中,輸入mysql 提示不是內部命令
解決:沒有把mysql下的bin路徑添加到系統變量path
原因:未配置環境變量
解決方法:將mysql安裝目錄下的bin目錄,添加到系統變量中
b) net stop/start mysql 提示服務名無效
解決:在cmd-->services.msc 找到服務啟動名為:mysql80
也就是說net start mysql80 有效,
3:下文來源:https://www.cnblogs.com/weixuqin/p/9530605.html
Navicat 遠程連接 MySQL8問題匯總:
相信大家都有在遠程服務器上進行開發吧,其中 MySQL 的使用率應該也會挺高,如果使用 Navicat 等可視化工具來操作遠程數據庫不失為一種很好的選擇,避免了在命令行寫 SQL 語句的操作。下面簡單介紹一下 Navicat 連接遠程數據庫的操作。
1
首先我們需要更改 3306端口,查看3306 端口是否對外開放,MySQL 默認情況下是不開放對外訪問功能的。語句如下:
netstat -an | grep 3306
如果查詢結果如下,需要我們更改 MySQL 配置文件。

可以看出,mysql的3306端口只是監聽本地的連接,這樣就阻礙了外部IP對該數據庫的訪問,修改 MySQL 配置文件 my.conf :
vim /etc/mysql/my.cnf
找到
# Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1
將bind-address = 127.0.0.1 這行注釋掉或者改為你想要使用的客戶端主機 ip。
至此 MySQL 遠程訪問端口就成功開啟了。
2
我們進入 MySQL 命令界面,運行下列SQL 語句,查看用戶是否具有訪問權限:
use mysql; select user, host from user;
返回結果如下:

我們使用通配符 % 來修改 root 用戶對應的 host 字段,使具有訪問所有 ip 地址的權限:
update user set host = '%' where user = 'root';
如果拋出如下異常:
Duplicate entry '%-root' for key 'PRIMARY'
說明有多個ROOT用戶紀錄在USER表中了,我們重新執行:
select host from user where user = 'root';
便能看到字段 host 的 % 值。
我們執行:
flush privileges;
刷新一下 MySQL 的系統權限相關表。
最后重啟一下 MySQL 服務:
sudo restart mysql
3
服務端設置好了,我們在 Navicat 客戶端設置一下連接:
打開 Navicat,點擊左上方的 "連接",設置一下數據庫的用戶名,地址,密碼等,便能在 Navicat 中遠程操作服務器上的 MySQL 啦。

