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庫,確認(rèn)生產(chǎn)真的可以重啟mysql庫;
確認(rèn)生產(chǎn)是否有直接使用root用戶連接到庫的使用情況,如果有則要做相應(yīng)連帶變更;
修改密碼前請停掉連接到庫的應(yīng)用,也就是停掉該庫相關(guān)的所有生產(chǎn)線。
2. 停庫修改密碼
ps -ef|grep mysql|grep -v grep
# 找到對應(yīng)的mysql服務(wù)器守護(hù)進(jìn)程,查看是否有其他mysql服務(wù)守護(hù)進(jìn)行存在
ps -ef|grep mysql|grep -v grep|xargs kill -9
# 殺掉root啟動庫的命令進(jìn)程和庫的守護(hù)進(jìn)程,否則庫會自動再次啟動
# 殺掉進(jìn)程,停庫,殺掉進(jìn)程之前請確保連接到庫的應(yīng)用全部停掉!??!
mysqld_safe --user=mariadb --skip-grant-tables &
# 忽略授權(quán)表啟動庫,此時如果使用密碼則無法登陸庫
# 連接到庫的應(yīng)用如果沒有停掉,此時是無法成功連接到庫的
mysql
use mysql;
select Host,User,Password from user where user='root';
exit;
# 進(jìn)到mysql庫中,查詢當(dāng)前的root密碼的密值,保存密值用以回滾
# 比如我當(dāng)前密碼是vincent,密值是'*CDA83EBFF468E905FF304FE0D3D9F4D665C6579D'
mysql
use mysql;
update user set password=password('test') where user='root';
exit;
# 進(jìn)到mysql庫中,設(shè)置root密碼
mysqladmin shutdown
mysqld_safe --user=mariadb &
# 重啟庫,登錄測試
mysql -uroot -ptest -Dmysql
exit;
# 登錄成功
3. 操作回滾
當(dāng)你修改完root密碼后,發(fā)現(xiàn)很多問題,比如有未知的應(yīng)用以原來的root密碼連接到了庫(操蛋的歷史遺留問題),需要回滾。
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è)置密碼,目前沒有找到可以直接將密值逆轉(zhuǎn)成密碼明文的方法,查看密碼的密值可以使用password函數(shù):
mysql -uroot -pvincent
select password('vincent'),password('test');
但是如果你知道了密值,就可以神不知鬼不曉的以root權(quán)限修改某個用戶的密碼,使用之,然后還原。
該情況多用于某個用戶的密碼遺忘,重置密碼,相同的情況還出現(xiàn)在oracle數(shù)據(jù)庫中。
相關(guān)文章
JavaScript基礎(chǔ)學(xué)習(xí)之splice()函數(shù)詳解
在前端JavaScript編程過程中,為了開發(fā)出更具交互性的web應(yīng)用,需要對一些數(shù)組進(jìn)行處理,下面這篇文章主要給大家介紹了關(guān)于JavaScript基礎(chǔ)學(xué)習(xí)之splice()函數(shù)的相關(guān)資料,需要的朋友可以參考下2022-04-04
JS阻止冒泡事件以及默認(rèn)事件發(fā)生的簡單方法
這篇文章主要介紹了JS阻止冒泡事件以及默認(rèn)事件發(fā)生的簡單方法,有需要的朋友可以參考一下2014-01-01
Javascript學(xué)習(xí)筆記9 prototype封裝繼承
在上文中,我利用prototype的原理做了一個封裝的New,然后我就想到,我是否可以用prototype的原理進(jìn)一步封裝面向?qū)ο蟮囊恍┗咎卣髂??比如繼承。2010-01-01
談?wù)勱P(guān)于JavaScript 中的 MVC 模式
本文介紹了模型-視圖-控制器模式在 JavaScript 中的實現(xiàn),有需要的朋友可以參考一下2013-04-04

