一鍵清空(重置)本地MySQL8.0密碼腳本
之前我開(kāi)發(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ǔ)用戶(hù)密碼的表,指定root本地用戶(hù)的密碼為空
- 結(jié)束MySQL服務(wù)進(jìn)程
- 以正常方式啟動(dòng)MySQL服務(wù)進(jìn)程
注意:命令行方式操作服務(wù)進(jìn)程需要管理員權(quán)限
最終編寫(xiě)如下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的密碼:

之所以寫(xiě)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)了名稱(chēng)為mysql8.0的服務(wù)。這是我在前面安裝MySQL8.0時(shí)這么命名服務(wù)名稱(chēng)的,詳見(jiàn):不卸載原有mysql直接安裝mysql8.0
需要更換為你的MySQL注冊(cè)的服務(wù)名稱(chēng)。若沒(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)行。
只需在腳本開(kāi)頭加上如下這行命令:
%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字符串日期格式轉(zhuǎn)換的幾種常用方法例子解析
這篇文章主要給大家介紹了MySQL字符串日期格式轉(zhuǎn)換的幾種常用方法例子解析,MySQL提供了多種函數(shù)來(lái)處理字符串日期格式的轉(zhuǎn)換,這些函數(shù)可以幫助用戶(hù)在不同的日期格式之間進(jìn)行轉(zhuǎn)換,以及進(jìn)行日期的加減和時(shí)間戳的轉(zhuǎn)換操作,需要的朋友可以參考下2024-11-11
MySQL統(tǒng)計(jì)函數(shù)GROUP_CONCAT使用陷阱分析
這篇文章主要介紹了MySQL統(tǒng)計(jì)函數(shù)GROUP_CONCAT使用中的陷阱,結(jié)合實(shí)例形式分析了GROUP_CONCAT用于統(tǒng)計(jì)時(shí)的長(zhǎng)度限制問(wèn)題與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-06-06
SQLyog錯(cuò)誤號(hào)碼2058最新解決辦法
這篇文章主要給大家介紹了關(guān)于SQLyog錯(cuò)誤號(hào)碼2058的最新解決辦法,使用sqlyog連接數(shù)據(jù)庫(kù)過(guò)程中可能會(huì)出現(xiàn)2058錯(cuò)誤,出現(xiàn)的原因是因?yàn)镸YSQL8.0對(duì)密碼的加密方式進(jìn)行了改變,需要的朋友可以參考下2023-08-08
MySQL中無(wú)GROUP BY情況下直接使用HAVING語(yǔ)句的問(wèn)題探究
這篇文章主要介紹了MySQL中無(wú)GROUP BY情況下直接使用HAVING語(yǔ)句的問(wèn)題探究,同時(shí)探究了該情況下MAX與MIN功能的使用情況,需要的朋友可以參考下2015-05-05
在MySQL?8.0版本中開(kāi)啟遠(yuǎn)程登錄詳細(xì)的操作步驟
有時(shí)數(shù)據(jù)庫(kù)所在機(jī)器與項(xiàng)目運(yùn)行的機(jī)器不是同一個(gè),那么就涉及到遠(yuǎn)程鏈接數(shù)據(jù)庫(kù)了,下面這篇文章主要給大家介紹了關(guān)于在MySQL?8.0版本中開(kāi)啟遠(yuǎn)程登錄詳細(xì)的操作步驟,需要的朋友可以參考下2024-04-04
mysql 實(shí)現(xiàn)互換表中兩列數(shù)據(jù)方法簡(jiǎn)單實(shí)例
這篇文章主要介紹了mysql 實(shí)現(xiàn)互換表中兩列數(shù)據(jù)方法簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-10-10
MySQL新增字段后Java實(shí)體未更新的潛在問(wèn)題與解決方案
在Java+MySQL的開(kāi)發(fā)中,我們通常使用ORM框架來(lái)映射數(shù)據(jù)庫(kù)表與 Java 對(duì)象,但有時(shí)候,數(shù)據(jù)庫(kù)表結(jié)構(gòu)變更(如新增字段)后,開(kāi)發(fā)人員可能忘記同步更新Java實(shí)體類(lèi),會(huì)導(dǎo)致什么問(wèn)題?接下小編給大家介紹了MySQL新增字段后Java實(shí)體未更新的潛在問(wèn)題與解決方案2025-03-03
mysql實(shí)現(xiàn)從導(dǎo)出數(shù)據(jù)的sql文件中只導(dǎo)入指定的一個(gè)表
這篇文章主要介紹了mysql實(shí)現(xiàn)從導(dǎo)出數(shù)據(jù)的sql文件中只導(dǎo)入指定的一個(gè)表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11

