MySQL忘記密碼後的報錯解決

2021-08-30 15:54:26 字數 1954 閱讀 3051

第一次登陸上mysql後沒有儲存也忘記修改密碼,導致後來忘記密碼一直登入不上。查閱了網上很多教程,嘗試了很多種不同的方法。結合網上普遍的教程和我自己實際的解決措施整理如下。

c

:\mysql> mysql -u root -p

enter password:

*******

error

2003

(hy000

): can't connect to mysql server on localhost

(10061

)

原來是還沒有連線上mysql服務,所以在輸入 mysql -u root -p前要輸入下面的指令確保服務已經啟動

c

:\mysql> net start mysql

這時候就會顯示mysql服務已經啟動成功

c

:\mysql> mysql -u root -p

enter password:

*******

error

1045

(28000

): access denied for user 'root'@'localhost'

(using password:

yes)

解決方法:

編輯mysql安裝目錄下的配置檔案my.ini,在【mysqld】這個條目下加入**skip-grant-tables儲存退出並重啟mysql。這時候出現password就可以直接按回車不用輸密碼就可以進入mysql了。

我嘗試這種方法還是會彈出錯誤,我是把skip-grant-tables放在ini檔案末尾的。又看到有教程說不要把skip-grant-tables放到末尾,所以我就試著放在【mysqld】條目下中間和開頭位置,發現一直還是報錯

在mysql安裝目錄下查詢.err檔案,用文字模式開啟,在裡面找到【note】這一行,a temporary password is generated for root@localhost:後面跟著的一串東西就是密碼。

我一開始嘗試用這種方法開啟err檔案並沒有發現標有【note】的一行。後來我把安裝目錄下的data資料夾刪掉,輸入下面這條指令重新生成乙個data新資料夾。這時候重新開啟err檔案就發現有【note】的一行,後面的就是密碼了。

c

:\mysql> mysqld --initialize

c

:\mysql>

setpassword

=password

('your new password');

c:\mysql>

alter

user

'root'@'localhost'

password

expire

never;c

:\mysql> flush privileges;

error

1820

(hy000

): you must reset your password using alter

user statement before executing this statement.

解決方法:

c

:\mysql>

alter

user

'root'@'localhost'

identified

by'your new password';c

:\mysql>

password

expire

never;c

:\mysql> flush privileges;

這時候就顯示修改密碼成功,以後就能用自己設定的密碼登入mysql啦!

mysql忘記密碼後的解決方法

第一步 首先關閉mysql的服務 選中我的電腦 右鍵 管理 服務 第二步 進入命令視窗 cmd 進入mysql的bin檔案中 輸入 mysqld skip grant tables 重新開啟乙個命令視窗轉到mysql bin目錄下 輸入mysql回車 use mysql 連線許可權資料庫 改密碼 u...

mysql密碼忘記後重置密碼

之前在centos裡安裝了xampp,設定了mysql資料庫root密碼,今天需要增加個資料庫,發現忘記之前設定的密碼是什麼了。經過一番摸爬滾打,終於搞明白了,注意以下的操作都是以linux的root身份操作的,其它的未測試,目測只要許可權允許應該沒問題。先停止mysql opt lampp lam...

解決mysql忘記密碼

mysql有時候忘記密碼了怎麼辦?我給出案例和說明 一下就解決了 windows下的實際操作如下 1.關閉正在執行的mysql。2.開啟dos視窗,轉到mysql bin目錄。3.輸入mysqld skip grant tables回車。如果沒有出現提示資訊,那就對了。4.再開乙個dos視窗 因為剛...