1. 程式人生 > 其它 >修改mysql資料庫的root密碼

修改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連線就可以了。


輸入你新的密碼就行了