MySQL忘記密碼的解決方法:無密碼登錄并重置root密碼

mysql忘記密碼了怎么辦?下面本篇文章給大家介紹一下無密碼登錄mysql,然后重置root密碼的方法,希望對大家有所幫助。

MySQL忘記密碼的解決方法:無密碼登錄并重置root密碼

接手一個項目時,如果上一位負責人沒有把項目文檔、賬號密碼整理好是一件很頭疼的事情。。 例如,當你想打開MySQL數據庫的時候 輸入:

mysql -u root -p?一回車想輸入密碼,發現密碼錯誤!!

# [MySQL for Linux錯誤 ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)]

立馬有種想要砸鍵盤的沖動~不過別慌,程序員最厲害的地方就是,上網找解決方案哈哈;【相關推薦:mysql視頻教程

下面就和大家分享一下? 《MySQL忘記密碼的解決方案》

1、找到?my.cnf?配置文件的位置

windows下修改的是my.ini,這里主要說的是Linux的具體操作,

Linux系統使用 whereis 能夠很方便地找到文件的位置:

$?whereis?my $?my:/etc/my.cnf

2、修改 my.cnf

如果你是 root 用戶,直接vim /etc/my.cnf?(注:windows下修改的是my.ini)

如果你是普通用戶 ,?sudo vim /etc/my.cnf

進入vim編輯器編輯之后,找到 [mysqld] ,按鍵盤的 i 鍵進入編輯模式,在[mysqld]后面任意一行添加?skip-grant-tables?用來跳過密碼驗證的過程:

按 ESC 退出編輯,鍵入? :wq?,回車即保存并退出。

3、 重啟 mysqld 服務

$?sudo?/etc/init.d/mysqld?restart

普通用戶在這個命令最前面加上?sudo?,root 用戶就不用啦。

4、無密進入MySQL

<br>

出現Entering password 無需理會,回車即可進入 MySQL 數據庫。

5、修改root密碼

進入到 MySQL 數據庫之后,我們就可以更新 “mysql”數據庫中“user”表的 root 記錄的密碼了

mysql?&gt;?use?mysql; mysql?&gt;?update?user?set?password=password('YOUR_NEW_PASSWORD')?where?user='root';? mysql?&gt;?flush?privileges;

步驟解析:

?use mysql;?進入到名為 “mysql” 的數據庫,

然后使用 update 語句更新密碼,

更新密碼之后使用?flush privileges;?刷新權限。

注意: ?password()函數是用于密碼儲存的加密函數,該函數的加密過程不可逆!因此除非用大量的數據進行比對,不然沒辦法使用什么逆函數查看舊的密碼,只能使用該函數更新密碼,YOUR_NEW_PASSWORD 就是自己設置的新密碼。

設置好新密碼之后,Ctrl + D退出 MySQL 數據庫。

6、重新配置?my.cnf?文件

重新用 vim 打開 my.cnf ,將剛才的 skip-grant-tables 刪除或者在前面加上#號注釋,保存并退出。

7、重啟 mysqld 服務

$?sudo?/etc/init.d/mysqld?restart

8、用新密碼進入MySQL

$?mysql?-u?root?-p

更多編程相關知識,請訪問:mysql視頻教程!!

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享