mysql忘記密碼如何重置密碼,以及修改root密碼的三種方法


1.先將MySQL停止、

命令:systemctl  stop mysqld       #停掉MySQL

命令:systemctl status mysqld         #查看狀態

 

 2.然后跳過授權表啟動MySQL服務程序

這一步主要利用mysqld的 --skip-grant-tables選項

修改my.cnf配置,添加 skip_grant_tables=1啟動設置:

打開/etc/my.cnf配置文件

添加skip_grant_tables 一行,然后保存退出

 

 3.然后啟動MySQL並查看狀態

命令:systemctl  start    mysqld 

 

4.使用mysql命令連接到MySQL服務,重設root的密碼

由於前一步啟動的MySQL服務跳過了授權表,所以可以root從本機直接登錄

在命令行內直接輸入mysql即可

 

 

 

 5.進入 mysql> 環境后,通過修改mysql庫中user表的相關記錄,重設root用戶從本機登錄的密碼:

命令:update mysql.user set authentication_string=password('123qqq...A')   where user='root' and host='localhost';

                                 #重新設置密碼

命令:FLUSH PRIVILEGES;          #刷新授權列表

然后輸入  exit  退出mysql

注意:通過執行“FLUSH PRIVILEGES;”可使授權表立即生效,對於正常運行的MySQL服務,也可以用上述方法來修改密碼,不用重啟服務。本例中因為是恢復密碼,最好重啟MySQL服務程序,所以上述“FLUSH PRIVILEGES;”操作可跳過。

 

 6.重新以正常方式啟動MySQL服務程序,驗證新密碼

   如果前面是修改/etc/my.cnf配置的方法來跳過授權表,則重置root密碼后,應去除相應的設置以恢復正常:

 

 

 

 7.重置后的新密碼,才能成功登入(試試新鮮出爐的密碼吧):

 

 OK!現在忘記密碼如何重新設置已經完了,接下來就是root修改密碼的三種方式:

 

1.重置管理員root密碼

正常的前提是:已知當前MySQL管理用戶(root)的密碼。

方法:在Shell命令行下設置

使用mysqladmin管理工具,需要驗證舊的密碼。比如,以下操作將會把root的密碼設置為A...qqq321 :

   命令:mysqladmin -uroot -p password 'A...qqq321'

 

 

 

 

2.修改管理員root密碼的其他方法(三種)

1)方法1,以root登入mysql> 后,使用set  password指令設置

這個與新安裝MySQL-server后首次修改密碼時要求的方式相同,平時也可以用

擴展一下(如果出現

ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 42. Created with MySQL 50564, now running 50726. Please use mysql_upgrade to fix this error.        這種報錯,是因為沒更新數據庫里的結構信息導致的,輸入一行命令即可解決:mysql_upgrade    -uroot     -p'123qqq...A') 

我是因為修改密碼太多了,可能導致的報錯,use用戶表沒更新又重新設置密碼才會這樣的

 

 好了,剛才那種情況可能會出現,繼續剛才的修改密碼

命令:set password for root@localhost=password('1234567');     

 

 試驗一下

 

 

2)方法2,以root登入mysql> 后,使用GRANT授權工具設置

這個是最常見的用戶授權方式:

命令: grant all ON *.* TO root@localhost identified by '123qqq...A';

 

 

3)方法3,以root登入mysql> 后,使用UPDATE更新相應的表記錄

這種方法與恢復密碼時的操作相同:

 

 

 

 在上述方法中,需要特別注意:當MySQL服務程序以 skip-grant-tables 選項啟動時,如果未執行“FLUSH PRIVILEGES;”操作,是無法通過set  password或者grant方式來設置密碼的。登錄MySQL或者驗證這兩種方式時,都會看到ERROR 1045的報錯:

轉自:https://www.cnblogs.com/zgqbky/p/11720406.html


免責聲明!

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



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