CentOS環(huán)境中MySQL修改root密碼方法
環(huán)境相關(guān):
OS:CentOS release 6.9
IP:192.168.1.10
MySQL:MariaDB-10.1.30
1. 修改前的確認(rèn)
修改root密碼是需要重啟mysql庫(kù),確認(rèn)生產(chǎn)真的可以重啟mysql庫(kù);
確認(rèn)生產(chǎn)是否有直接使用root用戶(hù)連接到庫(kù)的使用情況,如果有則要做相應(yīng)連帶變更;
修改密碼前請(qǐng)停掉連接到庫(kù)的應(yīng)用,也就是停掉該庫(kù)相關(guān)的所有生產(chǎn)線(xiàn)。
2. 停庫(kù)修改密碼
ps -ef|grep mysql|grep -v grep # 找到對(duì)應(yīng)的mysql服務(wù)器守護(hù)進(jìn)程,查看是否有其他mysql服務(wù)守護(hù)進(jìn)行存在 ps -ef|grep mysql|grep -v grep|xargs kill -9 # 殺掉root啟動(dòng)庫(kù)的命令進(jìn)程和庫(kù)的守護(hù)進(jìn)程,否則庫(kù)會(huì)自動(dòng)再次啟動(dòng) # 殺掉進(jìn)程,停庫(kù),殺掉進(jìn)程之前請(qǐng)確保連接到庫(kù)的應(yīng)用全部停掉?。?! mysqld_safe --user=mariadb --skip-grant-tables & # 忽略授權(quán)表啟動(dòng)庫(kù),此時(shí)如果使用密碼則無(wú)法登陸庫(kù) # 連接到庫(kù)的應(yīng)用如果沒(méi)有停掉,此時(shí)是無(wú)法成功連接到庫(kù)的 mysql use mysql; select Host,User,Password from user where user='root'; exit; # 進(jìn)到mysql庫(kù)中,查詢(xún)當(dāng)前的root密碼的密值,保存密值用以回滾 # 比如我當(dāng)前密碼是vincent,密值是'*CDA83EBFF468E905FF304FE0D3D9F4D665C6579D' mysql use mysql; update user set password=password('test') where user='root'; exit; # 進(jìn)到mysql庫(kù)中,設(shè)置root密碼 mysqladmin shutdown mysqld_safe --user=mariadb & # 重啟庫(kù),登錄測(cè)試 mysql -uroot -ptest -Dmysql exit; # 登錄成功
3. 操作回滾
當(dāng)你修改完root密碼后,發(fā)現(xiàn)很多問(wèn)題,比如有未知的應(yīng)用以原來(lái)的root密碼連接到了庫(kù)(操蛋的歷史遺留問(wèn)題),需要回滾。
mysql -uroot -ptest -Dmysql update user set password='*CDA83EBFF468E905FF304FE0D3D9F4D665C6579D' where user='root'; flush privileges; exit; # 使用上一步記錄的root密碼修改前的密值進(jìn)行回滾 mysql -uroot -pvincent -Dmysql exit; # 回滾完成
4. 相關(guān)知識(shí)點(diǎn)
可以直接使用密碼的密值設(shè)置密碼,目前沒(méi)有找到可以直接將密值逆轉(zhuǎn)成密碼明文的方法,查看密碼的密值可以使用password函數(shù):
mysql -uroot -pvincent select password('vincent'),password('test');
但是如果你知道了密值,就可以神不知鬼不曉的以root權(quán)限修改某個(gè)用戶(hù)的密碼,使用之,然后還原。
該情況多用于某個(gè)用戶(hù)的密碼遺忘,重置密碼,相同的情況還出現(xiàn)在oracle數(shù)據(jù)庫(kù)中。
相關(guān)文章
js中escape對(duì)應(yīng)的C#解碼函數(shù) UrlDecode
js中escape對(duì)應(yīng)的C#解碼函數(shù) System.Web.HttpUtility.UrlDecode(s),使用過(guò)程中有以下幾點(diǎn)需要注意2012-12-12每個(gè)程序員都需要學(xué)習(xí) JavaScript 的7個(gè)理由小結(jié)
這篇文章主要介紹了每個(gè)程序員都需要學(xué)習(xí) JavaScript 的7個(gè)理由小結(jié),需要的朋友可以參考下2016-09-09javascript學(xué)習(xí)筆記(十六) 系統(tǒng)對(duì)話(huà)框(alert、confirm、prompt)
javascript學(xué)習(xí)筆記之系統(tǒng)對(duì)話(huà)框(alert、confirm、prompt)使用介紹,學(xué)習(xí)js的朋友可以參考下2012-06-06js實(shí)現(xiàn)unicode碼字符串與utf8字節(jié)數(shù)據(jù)互轉(zhuǎn)詳解
這篇文章主要介紹了js實(shí)現(xiàn)unicode碼字符串與utf8字節(jié)數(shù)據(jù)互轉(zhuǎn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03