一鍵清空(重置)本地MySQL8.0密碼腳本
之前我開發(fā)了一個(gè)爆破MySQL簡(jiǎn)單密碼的Python腳本,但是對(duì)于MySQL就安裝在自己機(jī)器上這種情況根本沒(méi)有必要,只要我們擁有關(guān)閉和啟動(dòng)MySQL服務(wù)進(jìn)程的權(quán)限,我們就可以直接重設(shè)密碼。
具體原理:
- 結(jié)束MySQL服務(wù)進(jìn)程
- 以跳過(guò)權(quán)限表檢查的方式啟動(dòng)MySQL服務(wù)進(jìn)程
- 修改存儲(chǔ)用戶密碼的表,指定root本地用戶的密碼為空
- 結(jié)束MySQL服務(wù)進(jìn)程
- 以正常方式啟動(dòng)MySQL服務(wù)進(jìn)程
注意:命令行方式操作服務(wù)進(jìn)程需要管理員權(quán)限
最終編寫如下cmd腳本(保存文件名后綴為.cmd):
TASKKILL /F /IM mysqld.exe /T start D:\software\mysql-8.0.25-winx64\bin\mysqld --console --skip-grant-tables --shared-memory echo UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';>t.sql TIMEOUT /T 2 D:\software\mysql-8.0.25-winx64\bin\mysql<t.sql TASKKILL /F /IM mysqld.exe /T net start mysql8.0
以管理員身份運(yùn)行以上腳本,即可清空本地MySQL的密碼:
之所以寫D:\software\mysql-8.0.25-winx64\bin\
這種全路徑形式是因?yàn)槲覜](méi)有將MySQL的bin目錄加入path環(huán)境變量,若你的電腦已經(jīng)將該目錄加入環(huán)境則可以去掉,否則修改為你的MySQL安裝位置的bin目錄。
net start mysql8.0
啟動(dòng)了名稱為mysql8.0的服務(wù)。這是我在前面安裝MySQL8.0時(shí)這么命名服務(wù)名稱的,詳見(jiàn):不卸載原有mysql直接安裝mysql8.0
需要更換為你的MySQL注冊(cè)的服務(wù)名稱。若沒(méi)有注冊(cè)服務(wù),則需要按照你平時(shí)啟動(dòng)MySQL服務(wù)的方法啟動(dòng)。
執(zhí)行完以上腳本后就可以免密登錄MySQL了,登錄后就可以執(zhí)行以下命令,修改MySQL為任意密碼(這里修改密碼為123456):
ALTER user 'root'@'localhost' IDENTIFIED BY '123456';
然后重啟MySQL服務(wù)使密碼生效:
net start mysql8.0 net stop mysql8.0
其實(shí)我們也可以腳本中自行進(jìn)行管理員權(quán)限提權(quán),這樣就可以直接雙擊腳本運(yùn)行。
只需在腳本開頭加上如下這行命令:
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
對(duì)于MySQL 5.x版本,重置腳本更加簡(jiǎn)單,可以直接在腳本中設(shè)置MySQL密碼。
參考腳本內(nèi)容為:
TASKKILL /F /IM mysqld.exe /T start mysqld --skip-grant-tables echo ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';>t.sql TIMEOUT /T 2 mysql<t.sql TASKKILL /F /IM mysqld.exe /T net start MySQL
根據(jù)實(shí)際情況修改即可。
到此這篇關(guān)于一鍵清空(重置)本地MySQL8.0密碼腳本的文章就介紹到這了,更多相關(guān)清空MySQL8.0密碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mysql建庫(kù)字符集和排序規(guī)則及說(shuō)明
這篇文章主要介紹了Mysql建庫(kù)字符集和排序規(guī)則及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12MySQL5.7.24版本的數(shù)據(jù)庫(kù)安裝過(guò)程圖文詳解
這篇文章主要介紹了MySQL5.7.24版本的數(shù)據(jù)庫(kù)安裝過(guò)程,需要的朋友可以參考下2018-11-11MySql 字符串中提取數(shù)字的實(shí)現(xiàn)示例
在MySQL中,有時(shí)需要從字符串中提取數(shù)字,本文就來(lái)介紹一下MySql 字符串中提取數(shù)字的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09Mysql誤操作后利用binlog2sql快速回滾的方法詳解
相信每個(gè)和數(shù)據(jù)庫(kù)打交道的程序員都會(huì)碰一個(gè)問(wèn)題,MySQL誤操作后如何快速回滾?那么下面這篇文章主要給大家介紹了關(guān)于Mysql誤操作后利用binlog2sql快速回滾的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下。2017-07-07