mysql5.7.17忘記root密碼如何解決(mysql ERROR 1045 (28000): 的解決辦法)


使用的是mysql5.7.17解壓版,win7 64位系統。本教程的前提是能啟動MySQL服務,但是舊密碼已經不能登錄,需要強制修改密碼。

(遇到MySQL服務啟動不了的,可以參考:http://www.jb51.net/article/91778.htm

1.修改配置文件my.ini,可以選擇用記事本打開

my.ini是自己拷貝了my-default.ini后重命名的。

2.打開后,搜索mysqld關鍵字

找到后,在mysqld下面添加skip-grant-tables,保存退出。

PS:若提示不讓保存時,可以將該文件剪切到桌面,更改保存后再復制到mySQL目錄下

配置什么的可以不用去修改(現在是因為各種原因忘記root密碼,或是MySQL服務啟動不了,刪除data文件夾后,重現出事后MySQL導致舊密碼失效。要解決的是這個問題。)

保證添加了這一行就行。

重啟MySQL服務,推薦的是用

(也可以像有的教程一樣,在cmd用命令行的方式去重啟,可能會遇到MySQL

服務無法啟動的情況。)此時,如果MySQL服務啟動不了,不要着急,重啟windows系統就行。

3.運行cmd,輸入mysql -u root -p

這時候提示你輸入密碼,直接回車就可以進入。

 

1.進入mysql數據庫:

mysql> use mysql;

提示Database changed

2.給root用戶設置新密碼,藍色部分自己輸入:mysql> update user set password=password("123456") where user="root";

(注意5.7.1的MySQL的user表中已經沒有passwrod了,此時會提示

),新本的mysql的user表中的password字段已經改成了authentication_string 字段了。

這時候,需要輸入的命令是update user set authentication_string = password("123456") where user="root" ;

提示Query OK, 1 rows affected (0.04 sec)Rows matched: 1 Changed: 1 Warnings: 0

3.刷新數據庫mysql> flush privileges;

提示Query OK, 0 rows affected (0.01 sec)

4.退出mysql:mysql> quit

提示Bye

PS:123456為新密碼,用戶可根據自己需要修改成自己的密碼

另外:

如果想查看一下5.7.1修改密碼之前存的舊密碼:輸入命令:select host,user,authentication_string from user;

這是加密后的密碼。

如果想查看user表存的是什么,可以輸入命令:describe user;

看到是就會是這樣:

圖沒有截完,大家可以自己去試一下。

參考:https://jingyan.baidu.com/article/3ea51489e6cfbe52e61bba25.html

     http://tieba.baidu.com/p/4084314018


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM