mysql踩坑記錄

2021-10-12 17:45:57 字數 2206 閱讀 9832

【好記性不如爛筆頭】

之前在電腦上裝過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管理的,所以業務層的物件無法...