裝完mysql過了半個月沒用,今天登陸的時候提示密碼不對,試了半天是在試不出來,查了下網(wǎng)上的說法好像沒有辦法重新找回傻铣,只能重置新密碼,這......
google搜了下mysql忘記密碼祥绞,大家被這個折騰的不輕啊矾柜,文章抄來抄去,試了一個并沒有什么用就谜,重啟電腦后又不行了怪蔑。最后看到有位仁兄提到官方有給解決方法,官方應(yīng)該相對靠譜吧丧荐,照著做一下缆瓣!
先給出官方鏈接 https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
如果你能照著鏈接一步步做沒問題那下面就不用看了,不用浪費(fèi)時間了虹统,如果遇到問題了可以看下下面的描述弓坞,看能否對您有所幫助。
仔細(xì)看下官方的描述车荔,正式開始前的2段話特別重要渡冻,關(guān)系到下面你能否順利的執(zhí)行,可是我剛開始還是沒看懂忧便。
- 第一步是什么意思族吻,命令行登錄到啟動 MySql server 運(yùn)行的用戶?我的MySql是自動啟動的珠增,我也不知道是哪個用戶啟動了MySql超歌,不管它執(zhí)行第二步吧(如果你剛好是啟動MySql的用戶,那后面應(yīng)該會一路順風(fēng)蒂教,如果不是往下看吧)
-
定位到pid文件
官方提到了pid文件可能的位置巍举,但是沒有具體給出來,用自己的命令行試著找了下凝垛,好像在/usr/local/mysql/data/ 文件夾下懊悯,可是當(dāng)我想進(jìn)到/usr/local/mysql/data/ 文件夾下看看到底文件名是什么的時候
加了sudo 執(zhí)行cd進(jìn)入文件夾還是進(jìn)不去届氢。突然意識到官方第一步之前那段話是什么意思了欠窒,如果是啟動mysql server的用戶應(yīng)該有進(jìn)入到這個文件夾的權(quán)限覆旭,可是我實(shí)在不知道是哪個用戶啟動的mysql server退子,好像還有中切換用戶的方法
sudo su
這么切換了之后岖妄,文件夾終于能進(jìn)去了,下面找.pid文件.pid結(jié)尾的文件有3個實(shí)在不知道是哪個寂祥,一個一個試荐虐,最后試到了下面這個有效
kill `cat /usr/local/mysql/data/mysqld.local.pid`
// 執(zhí)行完上面這條命令后,從系統(tǒng)偏好mysql里面能看到MySql Server被stop了丸凭,可是沒過2秒又自動重啟了福扬,什么情況?
先不管MySql Server自動重啟的情況惜犀,準(zhǔn)備做下一步吧
- 先用筆記下你想設(shè)置的新密碼铛碑,用新密碼準(zhǔn)備命令 ALTER USER 'root' @'localhost' IDENTIFIED BY 'MyNewPass' (MyNewPass替換成你要新設(shè)置的密碼)
- 把上一步準(zhǔn)備好的命令保存在一個txt文件里面,比如你保存的文件名是mysql-init虽界,路徑是/usr/shi
- 執(zhí)行命令
// usr/shi/mysql-init 替換為你實(shí)際保存的路徑
mysqld --init--file=/usr/shi/mysql-init &
考慮到上面第2步kill了server之后汽烦,它又自動啟動了,這里這條命令在第二部之后里面執(zhí)行莉御,以防不生效
到這里重新登錄數(shù)據(jù)庫撇吞,新密碼已經(jīng)生效了
mysql -u root -p
// 輸入新密碼
3、4兩步使用的文件也可以刪了礁叔,重啟電腦牍颈,重新登錄數(shù)據(jù)庫,沒問題新密碼生效琅关,喜極而泣煮岁!