【好記性不如爛筆頭】
之前在電腦上裝過mysql,但最近想在學一下發現忘記了登陸密碼,索性解除安裝了mysql重新安裝了。
首先檢視mysql的依賴項:
dpkg --list|
grep mysql
然後解除安裝:
sudo apt-get remove mysql-common
sudo apt-get autoremove --purge mysql-server-
5.7
清除殘留資料:
dpkg -l|grep ^rc|awk ''
|sudo xargs dpkg -p
再次檢視剩餘依賴項:
dpkg --list | grep mysql
有什麼沒刪乾淨就繼續刪。
首先安裝server:
sudo apt-get install mysql-server
然後啟動服務:
service mysql start
確認是否啟動成功,mysql節點處於listen狀態表示啟動成功:
sudo netstat -tap | grep mysql
然後登陸mysql:
mysql -u root -p
預設是沒有密碼,按空格鍵,但是會報錯,「error 1698 (28000): access denied for user 『root』@『localhost』」,解決方法如下:step1.修改登陸許可權:
在圖示位置加入skip-grant-tables這句話,意思是登陸時不需要密碼。
然後使更改生效,執行:
service mysql restart
step2.然後再次登陸mysql,不需要輸入密碼即可登陸了;
進入資料庫後執行以下語句,重新設定使用者名稱和密碼:
step3.注釋掉剛剛的skip-grant-tables這句話
然後再次登陸,mysql -u root -p,輸入剛剛設定的密碼。
如果報錯:error 1524 (hy000): plugin 『auth_socket』 is not loaded
接著看step4.
step4.解決error
重新在配置檔案mysqld.cnf中加上skip-grant-tables這句話,使之生效之後再次無需密碼的登陸資料庫,然後按如下圖執行:
可以看到root的plugin是auth_socket,需要改掉它,換成mysql_native_password:
再次檢視root的plugin:
可以看到,已經改過來了。然後exit; 退出。
step5.最後一步
將配置檔案中的skip-grant-tables再次注釋掉,然後重新登陸就可以進入啦~
最後
剛開始忘記密碼的時候查資料看可以直接按照從step1的方法一步步來,但我沒有找到配置檔案路徑(我看到的資料大都給的路徑是 /etc/my.cnf,讓修改這個檔案,但是我電腦並沒有找到),也許是不同版本的mysql的配置檔案的路徑不一樣,總之大家在解決問題的時候要根據自己的實際情況來。
mysql踩坑記錄
1 今天在linux上面裝完mysql,卻發現在本地登入可以,但是遠端登入卻報錯host is not allowed to connect to this mysql server,找了半天試了網上的一些方法都沒有解決,最終在一篇文章裡找到了解決方法,特意記錄一下。先說說這個錯誤,其實就是我們的m...
Python 踩坑記錄
1.浮點數判斷 工作中遇到類似下面邏輯判斷 i 1 while i 1.5 i i 0.1 print i在想象中i應該停止在1.5就不輸出了,但是實際的輸出結果是無限迴圈。這是因為在計算機的邏輯中,浮點數的儲存規則決定了不是所有的浮點數都能準確表示,有些是不準確的,只是無限接近。如0.1轉換為二進...
Java踩坑記錄
1.quartz整合spring框架service層物件注入為null解決方案 jobdetailfactorybean中注入的是乙個cn.itcast.quartz.hellojob實現類的全路徑,底層會反射建立出乙個hellojob的物件,但是該物件不是由spring管理的,所以業務層的物件無法...