最近狀態(tài)很不好,,一直暈暈暈暈暈暈乎乎的,一個測試實例,,下班前修改了一下root的密碼,,接著就下班走人,第二天來發(fā)現(xiàn)root密碼忘了
剛好自動化安裝腳本整理好了,,本來想著算了直接重裝實例得了,,簡單省事也花不了半分鐘,,反正是測試實例,,沒什么大問題
發(fā)現(xiàn)有些思維定勢,所以最近一直暗示自己要做一些一上來就排斥的事,,強制改變一下思維方式,,那么就重置一下,,不要通過重裝來繞過這個問題 試了好幾種方式,有的行有的不行,,直說最簡單可行的一種方法:
1,,停止實例(如果實例在開啟的話),非服務名啟動,,也即用mysqld命令加上--skip-grant-tables方式啟動MySQL服務
/usr/local/mysql-8.0.18-linux-glibc2.12-x86_64/bin/mysqld --defaults-file=/usr/local/mysql8_data/mysql8000/etc/my.cnf --skip-grant-tables &
或者 /usr/local/mysql-8.0.18-linux-glibc2.12-x86_64/bin/mysqld_safe --defaults-file=/usr/local/mysql8_data/mysql8000/etc/my.cnf --skip-grant-tables & 2,,本地以sock方式連接值該實例,指定實例的sock文件后回車讓輸密碼,,(不用輸密碼)直接回車可正常連接
3,,切換到mysql庫下,
3.1.執(zhí)行update user set authentication_string = '' where user = 'root';
3.2.刷新權限,,flush privilegs;
3.3.重置密碼:alter user 'root'@'%' identified by '********';
3.4.刷新權限,,flush privilegs;
4,退出當前連接后,,如果繼續(xù)采用步驟2中的方式連接,,發(fā)現(xiàn)是連不上的,必須輸入密碼(也就是重置了密碼之后,,必須指定密碼的方式登錄)
需要注意的是,,忘記密碼后,以--skip-grant-tables啟動實例之后,,在本地只能以sock連接方式登錄,。
over,繼續(xù)干活,。 |
|