修改mysql資料庫的root密碼
問題:Navicat建立連線報錯MySql 1045 Access denied for user ‘root‘@‘localhost‘ (using password: YES)
基於出現mysql資料庫服務打不開,初始化date資料夾後服務可以正常開啟,但Navicat輸入密碼後“MySql 1045 Access denied for user ‘root‘@‘localhost‘ (using password: YES)”
解決方案
附上啟發文章:https://blog.csdn.net/acoolgiser/article/details/82967317
第一步:
找到安裝mysql路徑下my.ini檔案(例:D:\mysql),
第二步:
編輯mysql配置檔案my.ini ,
第三步:
在[mysqld]這個條目下加入 skip-grant-tables 儲存退出後重啟mysql(目的DOS進入mysql跳過密碼登入)
第四步:
因為改了配置檔案所以重啟mysql服務
1》方法一 工作管理員-------服務------mysql服務-------重啟
2》方法二:停止:輸入 net stop mysql 啟動:輸入 net start mysql
第五步:
開啟cmd,點選“開始”->“執行”(快捷鍵Win+R)。
這時候在cmd裡面輸入mysql -u root -p就可以不用密碼登入了,出現 password:的時候直接回車可以進入,不會出現ERROR 1045 (28000),但很多操作都會受限制,因為沒有grant許可權。這裡注意有mysql環境不論在那個目錄輸入mysql -u root -p直接就能進入mysql,但沒環境必須cd到mysql安裝目錄下執行mysql -u root -p才能生效。
第六步:
這裡注意 mysql>後面跟的是命令--------------------------- ------結果
1.進入mysql資料庫:mysql> use mysql; ----------------- Database changed
2.給root使用者設定新密碼:
mysql> update user set password=password("新密碼") where user="root";----------------
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
出現--------後面的內容說明修改成功不然不成功會報ERROR 1054 (42S22): Unknown column ''password'' in ''field list''錯誤這時將命令改為(將password改為authentication_string)
mysql> update mysql.user set authentication_string=PASSWORD('新密碼') where User='root';
附上我看到的解決文章:https://www.jb51.net/article/102138.htm
出現以下程式碼表示成功
Query OK, 1 row affected, 1 warning (0.15 sec)
Rows matched: 1 Changed: 1 Warnings: 1
3.重新整理資料庫
mysql> flush privileges;------------------ Query OK, 0 rows affected (0.00 sec)
4.退出mysql:
mysql> quit;------------mysql> quit;
Bye
第七步:
改好之後,再修改一下my.ini這個檔案,把我們剛才加入的 "skip-grant-tables"這行刪除,儲存退出再重啟mysql服務,再重新用Navicat連線就可以了。
輸入你新的密碼就行了