MySQL運維——密碼找回

MySQL運維——密碼找回

背景:

在數據庫管理員的平常維護與管理中因爲維護密碼的文檔丟失或者以前更改的密碼忘記致使沒法登陸MySQL服務器、其它應用程序也沒法鏈接;mysql

若是數據庫密碼忘記咱們就沒法完成工做,這裏就教會你們如何快速修改密碼,和重置數據庫密碼,這樣在工做中很大提升咱們工做的效率sql

這時候就須要找回MySQL用戶密碼,小編在此使用以下兩種方法(以Linux下MySQL5.7爲例):數據庫


重啓MySQL的方式找回

第一步中止數據庫服務器

systemctl stop  mysql

第二步:找到MySQL的my.cnf配置文件,在/etc/my.cnf (有些版本是/etc/mysql/my.cnf)在裏面增長下面一段信息:微信

,在my.cnf(mysqld的啓動配置文件中添加skip-grant-tables)併發

    第三步:啓動數據庫運維

systemcatl start mysqld

    第四步:登陸mysqld,直接在命令行輸入 mysql,並執行如下mysql命令學習

 


    第五步:註釋或刪除my.cnf配置文件中的 skip-grant-tables測試

    第六步:重啓mysqld服務,以新密碼的方式登陸mysqldspa

systemcat restart mysqld

mysql -uroot -p12345678


 

不重啓MySQL的方式找回

第一步:找到mysql的數據目錄,如小編的是/mysql/datat/3306/data(在my.cnf文件中查看)

第二步:備份cp /mysql/data/3306/data/mysql/user*  /mysql/data/backup(望各位養成備份的習慣)

第三步:準備另一臺MySQL服務器或者有權限操做某個庫的用戶;

如小編模擬root用戶丟失,但其它用戶可登陸而且對test_dd庫有操做權限;

第四步:拷貝用戶文件至test_dd庫目錄下,並更改權限

cp /mysql/data/3306/data/mysql/user*  /mysql/data/3306/data/test_dd

chown mysql:mysql /mysql/data/3306/data/test_dd

第五步:用其它用戶登陸mysqld

mysql -utest -ptest -A

    第六步:修改test_dd.user表;

第七步:複製test_dd庫下的user.MYDuser.MYI文件至mysql庫下並修改權限

cd /mysql/data/3306/data

cp test_dd/user.MYD mysql/

cp test_dd/user.MYI mysql/

chown mysql:mysql  mysql/userMYD

chown mysql:mysql  mysql/userMYI

    第八步:查找mysqld進程號併發送SIGHUP信號,從新加載權限表

第九步:登陸測試



如對小編的文章感興趣,關注小編公衆號我們一塊兒學習開發運維相關知識:


本文分享自微信公衆號 - 小偉運維開發(xiaowei-dev)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索