mysql8.0以上版本修改密碼問題記錄


參考鏈接:

https://blog.csdn.net/qq_27820551/article/details/101488430

https://blog.csdn.net/mukouping82/article/details/81105831

1、以管理員身份運行cmd,進入到mysql安裝的bin目錄下

2、先關閉mysql服務 net stop mysql,緊接着執行 mysqld --console --skip-grant-tables --shared-memory (為了跳過登錄進入mysql)

在這一步的時候我遇到的問題是執行完命令后打印以下內容

2020-02-10T20:21:30.946001Z 0 [System] [MY-010116] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.19) starting as process 11760
2020-02-10T20:21:30.983631Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory.
2020-02-10T20:21:30.986677Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2020-02-10T20:21:30.988397Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-02-10T20:21:30.990846Z 0 [System] [MY-010910] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.19)  MySQL Community Server - GPL.

解決方案:

1.刪除自己手動創建的data文件夾;

2.管理員權限cmd的bin目錄下,移除已錯誤安裝的mysqld服務;
C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld -remove MySQL The service doesn't exist! 

3.在cmd的bin目錄下執行mysqld --initialize-insecure 會發現程序在mysql的根目錄下自動創建了data文件夾以及相關的文件

4.bin目錄下執行mysqld -install Service successfully installed.

5.bin目錄下執行mysql服務啟動net start mysql

循環第1,2步,正常輸出

 

 3、以管理員身份新打開一個cmd,上面那個不要關閉。執行   mysql -uroot -p    就能免密進入

4、修改密碼(這里需要注意mysql8.0以上版本修改密碼方式與以前版本不同,密碼格式要求至少包含了數字、字母及特殊字符三種

 使用以前的方式(update user set password=password('123456') where user='root')修改密碼時會修改失敗,會提示:Found invalid password for user: 'root@localhost'; Ignoring user

1)  use mysql;
2)  update user set authentication_string='' where user='root';// 如果這個字段有值,先置為空,之前的版本密碼字段是password
3)  flush privileges;// 刷新權限表
4)  執行select user,host from user;// 查看用戶及host,方便后續修改
5)  ALTER user 'root'@'%' IDENTIFIED BY 'root@123';// 修改root 密碼
6) exit;//退出mysql

5、數據庫密碼加密方修改

# 數據庫密碼加密規則還原成mysql_native_password
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root@123';
# 刷新權限
FLUSH PRIVILEGES;
# 再查詢用戶及加密方式已修改
select host, user, plugin from user;

6、重啟mysql服務,密碼重置成功。

 


免責聲明!

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



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