首頁 >web前端 >js教程 >MySQL修改root密碼

MySQL修改root密碼

亚连
亚连原創
2018-06-13 14:18:041767瀏覽

這篇文章告訴大家如何遵循12條方法來寫出高品質的JS程式碼的經驗,有這方便需要的朋友參考下吧。

環境相關:
OS:CentOS release 6.9
IP:192.168.1.10
MySQL:MariaDB-10.1.30

1. 修改前的確認

修改root密碼是需要重新啟動mysql函式庫,確認生產真的可以重新啟動mysql函式庫;

確認生產是否有直接使用root使用者連接到函式庫的使用情況,如果有則要做相應連帶變更;

修改密碼前請停掉連接到庫的應用,也就是停掉該庫相關的所有生產線。

2. 停庫修改密碼

ps -ef|grep mysql|grep -v grep
# 找到对应的mysql服务器守护进程,查看是否有其他mysql服务守护进行存在
ps -ef|grep mysql|grep -v grep|xargs kill -9
# 杀掉root启动库的命令进程和库的守护进程,否则库会自动再次启动
# 杀掉进程,停库,杀掉进程之前请确保连接到库的应用全部停掉!!!
mysqld_safe --user=mariadb --skip-grant-tables &
# 忽略授权表启动库,此时如果使用密码则无法登陆库
# 连接到库的应用如果没有停掉,此时是无法成功连接到库的
mysql
use mysql;
select Host,User,Password from user where user='root';
exit;
# 进到mysql库中,查询当前的root密码的密值,保存密值用以回滚
# 比如我当前密码是vincent,密值是'*CDA83EBFF468E905FF304FE0D3D9F4D665C6579D'
mysql
use mysql;
update user set password=password('test') where user='root';
exit;
# 进到mysql库中,设置root密码
mysqladmin shutdown
mysqld_safe --user=mariadb &
# 重启库,登录测试
mysql -uroot -ptest -Dmysql
exit;
# 登录成功

#3. 操作回滾

當你修改完root密碼後,發現很多問題,例如有未知的應用程式以原來的root密碼連接到了庫(操蛋的歷史遺留問題),需要回滾。

mysql -uroot -ptest -Dmysql
update user set password='*CDA83EBFF468E905FF304FE0D3D9F4D665C6579D' where user='root';
flush privileges;
exit;
# 使用上一步记录的root密码修改前的密值进行回滚
mysql -uroot -pvincent -Dmysql
exit;
# 回滚完成

4. 相關知識點

可以直接使用密碼的密值設定密碼,目前沒有找到可以直接將密值逆轉成密碼明文的方法,查看密碼的密值可以使用password函數:

mysql -uroot -pvincent
select password('vincent'),password('test');

但是如果你知道了密值,就可以神不知鬼不曉的以root權限修改某個使用者的密碼,使用之,然後還原。
該情況多用於某個使用者的密碼遺忘,重設密碼,相同的情況也出現在oracle資料庫。

上面是我整理給大家的,希望今後對大家有幫助。

相關文章:

有關Axios的設定步驟(詳細教學)

在JS中有關相容瀏覽器問題

使用JS如何才能取得SessionStorage的值

#利用node.js等技術如何實作登入註冊功能?

在vue中如何使用filter過濾器

以上是MySQL修改root密碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn