mysql忘記密碼了怎么辦?下面本篇文章給大家介紹一下無密碼登錄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?>?use?mysql; mysql?>?update?user?set?password=password('YOUR_NEW_PASSWORD')?where?user='root';? mysql?>?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視頻教程!!