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 ” ,之后保存退出,這個的作用是跳過密碼檢測,等之后改完密碼還要把這個語句刪掉。
代碼如下:
注:筆者是在最后添加了語句
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)的解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑报2013年第7期
- 下一篇: 易优CMS瓜果蔬菜农业种植基地网站模板源