Windows下忘記mysql密碼,重新配置


Windows下忘記mysql密碼,重新配置

問題:作死把Navicat里面的連接刪除,然后再重新建立連接,結果出現這個:
enter description here

網上查了些資料,后面發現是自己的密碼忘了,因此按照教程走一遍

  1. 先停掉sql服務,以便后續操作
    net stop mysql
    顯示:
    服務名無效。
    請鍵入 NET HELPMSG 2185 以獲得更多的幫助。
    enter description here

搜索后發現,是自己已經改過mysql名字
具體操作:

  • 輸入services.msc
  • 找到mysql,發現名字變為了MySQL57
  • 輸入net stop MySQL57
  • enter description here
  • enter description here
  1. 跳過驗證,直接進入到mysql進行修改密碼
    打開mysql安裝目錄:C:\Program Files\MySQL\MySQL Server 5.7\bin>
    在標題欄直接輸入cmd進入到對應的cmd窗口
    輸入mysqld --skip-grant-tables

結果:提示失敗(正常是這個窗口不能再輸入了),如果是這樣可以參考這篇博客的第二部分:2.需要重新設置root密碼(忘記root密碼)
https://blog.csdn.net/qq_36735409/article/details/78032144

另外解決辦法
參考:https://www.cnblogs.com/zhiliang9408/p/9851939.html
主要的問題是找到這里面說的my.ini文件,開始怎么都沒找到,后面用Evernote找到了,在C:\ProgramData\MySQL\MySQL Server 5.7
在文檔內搜索mysqld定位到[mysqld]文本段,在[mysqld]后面任意一行添加“skip-grant-tables”用來跳過密碼驗證的過程

  • 重啟mysql:net start MySQL57

  • 輸入:mysql -u root -p
    注意,這里的提示輸入密碼,直接回車即可
    輸入:show databases;
    看下是否的確進入了mysql

  • 輸入update user set password=password("jiayou7311") where user='root';修改密碼,結果:
    ERROR 1054 (42S22): Unknown column 'password' in 'field list
    enter description here

原因:原因是 5.7版本下的mysql數據庫下已經沒有password這個字段了,password字段改成了authentication_string
輸入:
update mysql.user set authentication_string=password('jiayou7311');
修改成功
enter description here

  • 刷新:flush privileges;
    enter description here

  • 退出:quit
    enter description here

  • 把my.ini里添加的字段刪除掉

  1. 重新登錄
    mysql -u root -p
    成功:
    enter description here


免責聲明!

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



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