Mysql 忘記密碼解決方法

由於安裝時忘記輸入密碼,一直無法登錄。網上找了很多的方法d都無法解決。以下是本人解決後總結的一些方法,希望對大家亦有所幫助!

解決方法一

簡單粗暴的就是直接卸載重裝,不過資料庫要記得備份。

以下是卸載方法,無殘留:

sudo apt purge mysql-*

sudo rm -rf /etc/mysql/ /var/lib/mysql

sudo apt autoremove

sudo apt autoreclean

解決方法二

修改密碼就是最好的方法啦!

安全模式登入MySQL

sudo /etc/init.d/mysql stop

-------------------------------------
[sudo] wl 的密碼:
[ ok ] Stopping mysql (via systemctl): mysql.service.

sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &

輸入第一行終止MySQL運行,成功,會提示下面兩行;輸入第四行,成功,沒有任何報錯則可以另外打開一個終端窗口進行下一步操作;但是一般會報錯,比如提示

mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists

因此我們嘗試輸入以下代碼

sudo mkdir -p /var/run/mysqld

sudo chown mysql:mysql /var/run/mysqld

最後再次輸入:

sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &

到了這裏不在提示錯誤,可以打開另一個終端端口了,嘗試無密碼登入MySQL。

mysql -u root

到這裏應該可以進入MySQL了,繼續操作

use mysql;

update user set authentication_string=PASSWORD(“這裏輸入你要改的密碼”) where User=’root’; #更改密碼
update user set plugin=”mysql_native_password”; #如果沒這一行可能也會報一個錯誤,因此需要運行這一行

flush privileges; #更新所有操作權限
quit;

4、使用修改的密碼登入MySQL

經過上面一系列的操作,應該可以正常使用你更改的密碼登入了。

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start # reset mysql

mysql -u root -p

第一行先終止數據庫運行,第二行重啓數據庫服務,第三行root用戶登入。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章