日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Navicat首次连接MySQL8.0出现错误#1045 - Access denied for user ‘root‘@‘localhost‘(using password: YES)的解决办法

發布時間:2024/1/1 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Navicat首次连接MySQL8.0出现错误#1045 - Access denied for user ‘root‘@‘localhost‘(using password: YES)的解决办法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

現象及原因分析

筆者在首次安裝完 MySQL 8.0.21 之后又安裝了 Navicat Premium ,然后在 新建MySQL連接 時,點擊 測試連接 ,連接失敗,出現了 錯誤1045 ,如下圖所示:

直接的原因就是 密碼不對 ,但是筆者確定自己沒有記錯當時在安裝MySQL時設定的密碼,所以更深層次的原因筆者也不清楚,但是筆者通過以下方法 (就是直接改密碼) ,解決了這個錯誤實現了連接。

附:筆者當時還有一個現象是打開MySQL 8.0 Command Line Clien,然后輸入密碼之后就閃退。
(原因也是輸錯密碼了,密碼錯誤的話MySQL 8.0 Command Line Clien也會閃退)

解決方案

注:如果是MySQL 8.0版本及以上的,請直接跳到第 4 步!!!!!!!!

1. 首先確保自己有my.ini文件,沒有就新建一個, 因為筆者是用 msi 安裝的,所以沒有 my.ini 文件,先創建一個 文本文檔 ,取名 my. txt ,然后輸入下列代碼,之后把 .txt 后綴名改成 .ini即可,文件放在安裝目錄下 \MySQL Server 8.0 還是 \MySQL Server 8.0\bin 里都可以。

**代碼如下**: [mysql] ; 設置mysql客戶端默認字符集 default-character-set=utf8 [mysqld] ;設置3306端口 port = 3306 ; 這里是你安裝mysql的目錄 basedir=D:\Softer\MySQL\MySQL Server 8.0 ; 這里是設置mysql數據庫的數據的存放目錄 datadir=D:\Softer\MySQLData\MySQL Server 8.0\Data ; 允許最大連接數 max_connections=200 ; 服務端使用的字符集默認為8比特編碼的latin1字符集 character-set-server=utf8 ; 創建新表時將使用的默認存儲引擎 default-storage-engine=INNODB

完成之后是這樣的:

2.my.ini 的代碼的 [mysqld] 下添加一句 “ skip-grant-tables ” ,之后保存退出,這個的作用是跳過密碼檢測,等之后改完密碼還要把這個語句刪掉。
代碼如下

[mysql] ; 設置mysql客戶端默認字符集 default-character-set=utf8 [mysqld] ;設置3306端口 port = 3306 ; 這里是你安裝mysql的目錄 basedir=D:\Softer\MySQL\MySQL Server 8.0 ; 這里是設置mysql數據庫的數據的存放目錄 datadir=D:\Softer\MySQLData\MySQL Server 8.0\Data ; 允許最大連接數 max_connections=200 ; 服務端使用的字符集默認為8比特編碼的latin1字符集 character-set-server=utf8 ; 創建新表時將使用的默認存儲引擎 default-storage-engine=INNODB; 跳過密碼檢測,之后改完密碼還要刪掉 skip-grant-tables

注:筆者是在最后添加了語句

3. 在上一步添加完語句之后,要將 MySQL服務重新啟動 。具體是: 計算機或此電腦(右鍵)管理服務和應用程序服務找到MySQL服務項點擊 “啟動” 或 “重新啟動”

4. (在進行這一步的時候要確保 MySQL服務 已經運行了!!!)開始菜單欄 ,將 MySQL 8.0 Command Line Clien管理員身份 打開,也可以選系統自帶的命令行工具,不過筆者推薦用 MySQL 8.0 Command Line Clien

進去之后是這樣的,直接 回車2下 ,進入 mysql 。筆者是 首次安裝MySQL 8.0.21 ,對于 8.0版本 及以上的,一開始就能無密碼進入, 無需配置my.ini ,并且添加 “ skip-grant-tables ” 語句這招對8.0之后的版本也 不起作用 了,所以之后想改密碼的話,要去找找別的辦法,筆者目前也還沒有試過,所以接下來的步驟對于首次安裝 MySQL8.0 的同志們要小心了,密碼重置完就不能再用這個辦法修改密碼了( 慎重 )。


5. 接下來進行 密碼的重置 ,將下列代碼依次輸入

(!!!!!!代碼如下:注意copy的時候要連最后面的分號( ; )也要一起復制!!!!!!)

//第一步 mysql>use mysql; //第二步,設置新密碼,語句中‘新密碼’ 要改成自己的密碼 mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '新密碼'; //第三步 mysql>flush privileges; //第四步 mysql>quit;

第一步,輸入 use mysql; 回車后效果如圖:

第二步,輸入 ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY ‘新密碼’; 回車后效果如圖,不要忘記語句后面的 分號 ,同時這里要 修改成自己的密碼 ,不要忘了:

第三步,輸入 flush privileges; 回車后效果如圖:

第四步,輸入 quit; 語句后回車,窗口關閉:

6. 至此,密碼就重置完成了,接下來就可以去 Navicat 創建新的 MySQL連接 了。

總結

以上是生活随笔為你收集整理的Navicat首次连接MySQL8.0出现错误#1045 - Access denied for user ‘root‘@‘localhost‘(using password: YES)的解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。