1. 程式人生 > >Navicat連線mysql報錯【1045 - Access denied for user 'root'@'localhost'(using password: YES)】

Navicat連線mysql報錯【1045 - Access denied for user 'root'@'localhost'(using password: YES)】

win10使用Navicat連線mysql8.0時,出現報錯【1045 - Access denied for user 'root'@'localhost'(using password: YES)】

或者,命令列連線mysql時,報錯【ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)】

 

解決方法:

1、先找到mysql安裝目錄下的my-default.ini或者my.ini檔案,如 E:\Program Files\mysql-8.0.11-winx64\my-default.ini

2、使用記事本開啟ini檔案,找到[mysqld],在下方新增skip_grant_tables,該語句代表登入mysql時跳過輸入密碼的操作,忽略登入檢查

3、重啟資料庫服務:管理員身份開啟命令列cmd,非管理員身份重啟mysql會報錯

①停止伺服器,命令列輸入

net stop mysql

回車

②啟動伺服器,命令列輸入

net start mysql

回車

4、密碼重置,命令列輸入

mysql -u root -p

敲擊回車,顯示輸入密碼password,無需輸入密碼,再次敲擊回車,進入mysql,命令列顯示【mysql>】

# 將資料庫切換至mysql庫
mysql> USE mysql
回車

# 修改密碼
mysql> UPDATE user SET password=PASSWORD(‘newpasswd’)WHERE user=’root’
回車

# 重新整理MySQL許可權相關的表
mysql> flush privileges
mysql> exit

退出資料庫

5、修改ini檔案,再次開啟my-default.ini或者my.ini檔案,註釋掉skip_grant_tables(在skip_grant_tables前面加一個 # 註釋),儲存並退出

6、重啟資料庫服務