對于數據庫來說,如果忘記root用戶的密碼,那將是非常致命的,但是我們可以通過添加–ship-grant-tables參數來跳過權限表。
具體方法如下:
忘記root密碼,進不去數據庫:
這個時候需要強制停庫,先查看mysql進程號
Kill掉MySQL進程,命令如下:
Kill完可以再查看是否還有進程
[root@tse2?tmp]#?kill?-9?9840?1 [root@tse2?tmp]#?ps?-ef?|grep?mysql
建議停庫這種操作不要影響業務的情況下,停服操作的,還有最好這種密碼記錄好的,可以用keepass保存密碼軟件!
免費學習視頻教程分享:mysql視頻教程
然后加跳過權限表參數,重啟數據庫。這樣即使不輸入密碼,也可以進入數據庫。
[root@tse2?bin]#?mysqld_safe?--defaults-file=/etc/my.cnf?--skip-grant-tables?& [1]?4854
直接輸入mysql不需要密碼即可進入
給root用戶設置新的密碼并刷新權限,MySQL5.7之后,庫下的password字段用authentication_string字段代替。
(product)root@localhost:mysql.sock?[(none)]>?use?mysql; Database?changed (product)root@localhost:mysql.sock?[mysql]>?update?user?set?authentication_string=password('123456')?where?user='root'; Query?OK,?0?rows?affected,?1?warning?(0.00?sec) Rows?matched:?1??Changed:?0??Warnings:?1 (product)root@localhost:mysql.sock?[mysql]>?flush?privileges; Query?OK,?0?rows?affected?(0.00?sec)
設置完成之后,重啟數據庫。注意重啟的時候不需要再加–skip-grant-tables參數了,正常啟動服務,輸入新的密碼可以正常進入數據庫了。這邊重啟以后測試直接mysql沒有密碼是無法進入的了。
[root@tse2?bin]#?mysqld_safe?--deaults-file=/etc/my.cnf?& [2]?6720 [root@tse2?bin]#?2020-01-16T02:55:45.223195Z?mysqld_safe?Logging?to?'/mysql/mysql3306/logs/error.log'. 2020-01-16T02:55:45.262302Z?mysqld_safe?A?mysqld?process?already?exists [2]+??Exit?1??????????????????mysqld_safe?--deaults-file=/etc/my.cnf [root@tse2?bin]#?mysql ERROR?1045?(28000):?Access?denied?for?user?'root'@'localhost'?(using?password:?NO)
這邊輸入密碼連接,即可正常進入,是修改后的密碼123456
[root@tse2?bin]#?mysql?-uroot?-p Enter?password:? Welcome?to?the?MySQL?monitor.??Commands?end?with?;?or?g. Your?MySQL?connection?id?is?4 Server?version:?5.7.23-log?MySQL?Community?Server?(GPL) Copyright?(c)?2000,?2018,?Oracle?and/or?its?affiliates.?All?rights?reserved. Oracle?is?a?registered?trademark?of?Oracle?Corporation?and/or?its affiliates.?Other?names?may?be?trademarks?of?their?respective owners. Type?'help;'?or?'h'?for?help.?Type?'c'?to?clear?the?current?input?statement. (product)root@localhost:mysql.sock?[(none)]>?use?mysql Database?changed (product)root@localhost:mysql.sock?[mysql]>?show?databases; +--------------------+ |?Database???????????| +--------------------+ |?information_schema?| |?mysql??????????????| |?performance_schema?| |?sys????????????????| +--------------------+ rows?in?set?(0.01?sec)
相關文章教程推薦:mysql視頻教程
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦