MySQL8.0+版本1045錯誤的問題及解決辦法

使用命令行登錄MySQL報錯1045 Access denied for user ‘root’@‘localhost’ (using password:YES),折騰半天才解決問題。

一、管理員權限打開CMD

在這裡插入圖片描述

二、CD到自己的MySQL安裝目錄

此步驟請根據自己的安裝目錄進行操作。
CD到相應的目錄後鍵入回車即可到自己的安裝目錄,註意要到bin這一級的目錄。

在這裡插入圖片描述

三、停止MySQL服務

或者通過CMD,鍵入net stop mysql停止MySQL服務。不管通過什麼方式,旨在停止MySQL服務。

在這裡插入圖片描述

四、鍵入命令行

輸入此行代碼並按回車,此時會發現此CMD窗口無法進行輸入。這時無需理會,重新以管理員權限打開一個CMD窗口即可。

mysqld --console --skip-grant-tables --shared-memory

在這裡插入圖片描述

五、重新打開CMD窗口

在這裡插入圖片描述

六、登錄MySQL數據庫

在這裡插入圖片描述

七、密碼改為空密碼

UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';

在這裡插入圖片描述

八、刷新數據

flush privileges;

在這裡插入圖片描述

九、退出數據庫

在這裡插入圖片描述

十、啟動MySQL服務

在這裡插入圖片描述

十一、命令行正常登錄MySQL

在這裡插入圖片描述

番外篇navicat
如果網友發現使用Navicat時報2059錯誤,是因為MySQL8之後修改瞭加密規則,具體操作如下:
命令行:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密規則,此例中密碼為空,此處的password刪掉即可,隻留下 ''(此處為英文單引號)。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用戶的密碼,此例中密碼為空,此處的password刪掉即可,隻留下 ''(此處為英文單引號)。
FLUSH PRIVILEGES; #刷新權限 

在這裡插入圖片描述

 

在這裡插入圖片描述

在這裡插入圖片描述

到此這篇關於MySQL8.0+版本1045錯誤解決辦法的文章就介紹到這瞭,更多相關MySQL8.0報錯1045內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: