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.MYD與user.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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。