MySQ登錄提示ERROR 1045 (28000)錯誤
- 來源:縱橫數(shù)據(jù)
- 作者:中橫科技
- 時間:2018/1/5 9:41:21
- 類別:新聞資訊
登錄服務(wù)器準(zhǔn)備修改數(shù)據(jù)庫的一些東西。但輸入密碼,卻進不了數(shù)據(jù)庫并提示一個錯誤,
再確認(rèn)密碼沒錯的情況下,還是進不了數(shù)據(jù)庫。便在網(wǎng)上找到了解決方法,記錄下來,供參考學(xué)習(xí)。
解決方法:
總體思路: (Linux系統(tǒng)下)關(guān)閉MySQL服務(wù),配置MySQL,使其免密碼登錄,然后重新設(shè)置密碼,刷新數(shù)據(jù)庫,將之前的配置去掉,重啟MySQL。
1.關(guān)閉MySQL服務(wù),命令:service mysqld stop。找到你的MySQL配置文件,每個人裝的位置可能不同,
2.在配置文件所在的目錄下,用vim命令去編輯它,命令:vim my.cnf
再進入vim編輯模式,即按下insert,在下圖指定位置添加 skip_grant_tables,
3.再保存并退出配置文件,命令:①shift+分號 ②輸入wq ③按回車鍵。這樣就配置好無密碼登陸了。啟動數(shù)據(jù)庫,命令:service mysqld start。進入數(shù)據(jù)庫,在命令行中敲:mysql -u root -p ,然后一直回車就可以進入數(shù)據(jù)庫了
4.進入數(shù)據(jù)庫后給數(shù)據(jù)庫設(shè)置新的密碼,如果你還想用之前的密碼,就還設(shè)成以前的密碼,這也是可以的。
命令(一個命令后敲一次回車):
① use mysql;
② update user set password=password("新密碼") where user="root"
③flush privileges;
④ quit;
注釋:第二個命令適合MySQL5.6及更早的版本。MySql5.7以后已經(jīng)沒有password字段,應(yīng)執(zhí)行 update user set authentication_string =password('newpassword') where user='root'; 修改密碼。
5.數(shù)據(jù)庫密碼改好后,再把原先數(shù)據(jù)庫配置文件修改的部分注釋掉,語句前加一個#號即可。
6.重啟數(shù)據(jù)庫服務(wù),命令:service mysqld restart。這時,便可以用剛剛設(shè)置的密碼登錄數(shù)據(jù)庫啦