MYSQL與Navicat的連接錯誤問題


唱,跳,RAP,Basketball

MySQL版本安裝 遇到的一個坑(密碼加密規則被修改導致Navicat連接不上)
眾所周知,老師的一些任務,往往做起來不是很困難,只要按着步驟就可以,但是在程序的安裝和配置方面總會出現一些稀奇古怪的問題
比如:

2059 - Authentication plugin 'caching_sha2_password' cannot be loaded

在此刻我的內心是極度崩潰的,因為在之前安裝MySQL的時候就出現了大問題,我把MySQL的測試軟件下載了,應用程序沒有下載。。。

搞毛啊,什么所謂的MySQL8.0.11版本啟用了新特性,用戶登錄加密規則改為了caching_sha2_password,原有的不支持新特性。想使用caching_sha2_password新特性的話,需要更新一下驅動。

果然還是前人喝湯后人遭殃啊,但是任務加身怎么說也得硬着頭皮上了,在查了一系列的資料后,發現了很多新天地

look,看這一串代碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

還有這一串
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
這可是核心中的核心呢。。。。

上面的兩行代碼是修改密碼的關鍵,當然如果你不設密碼也可以,浪得飛起自然(。・∀・)ノ゙嗨

開始開始i,我們先進入管理員命令行進行net start mysql的操作

在其間可能會遇到一些問題,比如說mysql不是內部或者外部命令
這是因為沒有配置環境的緣故,和java差不多的方式,大家上網找下就可以了!

然后輸入mysql -u root -p
則會發現讓你輸入password
沒關系,沒設置的話直接回車就可以了!

然后輸入use mysql,得到Database changed,之后再次輸入select host, user, authentication_string, plugin from user;
可以看到左邊一欄是localhost
這是默認的名稱
然后輸入GRANT ALL ON *.* TO 'root'@'%';
其實在這里我也遇到了一樣的問題
MYSQL You are not allowed to create a user with GRANT
網上重啟電腦了,我就直接跳過去了反正這個是一個莫名地測試,不影響接下來的操作
在命令行中輸入上述的兩行代碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

少年你會得到這樣的情況:
Query OK, 0 rows affected (0.10 sec)

嗯,我覺得還可以,刷新下權限FLUSH PRIVILEGES;

然后那個什么鬼東西就沒了,連接成功。

這個解決方式主要是將他的新型加密方式改回了書上5.7版本的加密方式,使得“沒有跟上版本的”Navicat能夠有了喘息的機會,然而我個人是“極度鄙視”這種“不思進取”程序的,猶豫就會敗北,你還不去更新支持這種加密方式的數據庫,還在搞什么飛機啊。。。。

困擾了很久的問題得到了解決,總算松了口氣。

提供一下我參考的教程:

MySQL 8.0.11 版本安裝 遇到的一個坑(密碼加密規則被修改導致Navicat連接不上)
win10在計算機中找不到mysql服務
MySQL連接2059錯誤,修改加密規則


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM