Mysql 1045錯(cuò)誤

最近幾天嘗試著用okHttp向服務(wù)端發(fā)送請(qǐng)求,一開始時(shí)一切都是好好的然而突然間服務(wù)端就報(bào)錯(cuò)了!
服務(wù)端報(bào)錯(cuò).png

這時(shí)候我的大腦真是一片空白,畢竟前幾天測(cè)試都是沒有問題的,為什么會(huì)突然間出現(xiàn)這種情況。首先我想的到的是難道連接數(shù)據(jù)庫的文件出現(xiàn)了問題嗎,但代碼不可能無緣無故的改變吧況且之前后臺(tái)都是沒問題并結(jié)合報(bào)錯(cuò)的日志來看我排除了后臺(tái)代碼出錯(cuò)的原因。在確定了android訪問代碼也沒有問題后我只能重啟計(jì)算機(jī)并用Navict for Mysql打開數(shù)據(jù)庫,然而我就得到了這個(gè)
1045錯(cuò)誤.png

用戶名或密碼錯(cuò)誤登錄失敗。
莫名其妙???天天使用mysql怎么可能出現(xiàn)這種錯(cuò)誤,瞬間絕望。難道只能重裝數(shù)據(jù)庫了嗎,里面有重要信息而且重裝麻煩所以卸載是不可能的!在保證用戶名和密碼都正確的前提下我想猜想了導(dǎo)致錯(cuò)誤的原因:
  1. 反復(fù)向后臺(tái)請(qǐng)求數(shù)據(jù)導(dǎo)致mysql出錯(cuò)
  2. 存在其他軟件占用了3306端口

我結(jié)束了AndroidStudio與MyEclipse的進(jìn)程,并把PhpStorm都給卸載了,再次打開mysql還是報(bào)1045錯(cuò)誤。只能嘗試修改密碼了。

首先先找到mysql.exe安裝路徑
找出安裝路徑.png
打開cmd并輸入cd復(fù)制路徑
1.png

然后輸入命令 mysqld --skip-grant-tables 回車,此時(shí)就跳過了mysql的用戶驗(yàn)證。注意輸入此命令之后命令行就無法操作了,此時(shí)可以再打開一個(gè)新的命令行。注意:在輸入此命令之前先在任務(wù)管理器中結(jié)束mysqld.exe進(jìn)程,確保mysql服務(wù)器端已結(jié)束運(yùn)行。如果沒有結(jié)束是不能生效的。

打開新的cmd再次進(jìn)入到路徑中輸入mysql
2.png

在我以為可以跳開驗(yàn)證修改密碼時(shí),我發(fā)現(xiàn)我還是太年輕
3.png

再次報(bào)出1045!但是和之前報(bào)錯(cuò)不同之前一直都是denied for user 'root'這次變成了denied for user 'ODBC'

退出cmd重新進(jìn)入輸入mysql


4.png

這次報(bào)錯(cuò)又不一樣了報(bào)的是2003數(shù)據(jù)庫未啟動(dòng),當(dāng)我重新啟動(dòng)數(shù)據(jù)庫后用Navict for Mysql打開居然連接成功了。我一臉懵逼困擾了這么久的問題莫名其妙就解決了。我的問題雖然解決了但我還是想向各位大佬求助一下這到底是什么原因造成的,為什么又會(huì)連接成功

最后說一下MySQL常見的報(bào)錯(cuò)

Can't connect to MySQL server on 'localhost' (10061)

翻譯:不能連接到 localhost 上的mysql
分析:這說明“l(fā)ocalhost”計(jì)算機(jī)是存在的,但在這臺(tái)機(jī)器上卻沒提供MySQL服務(wù)。
需要啟動(dòng)這臺(tái)機(jī)器上的MySQL服務(wù),如果機(jī)子負(fù)載太高沒空相應(yīng)請(qǐng)求也會(huì)產(chǎn)生這個(gè)錯(cuò)誤。
解決:既然沒有啟動(dòng)那就去啟動(dòng)這臺(tái)機(jī)子的mysql。如果啟動(dòng)不成功,多數(shù)是因?yàn)槟愕膍y.ini配置的有問題。重新配置其即可。
如果覺得mysql負(fù)載異常,可以到mysql/bin 的目錄下執(zhí)行mysqladmin -uroot -p123 processlist來查看mysql當(dāng)前的進(jìn)程。

Unknown MySQL Server Host 'localhosadst' (11001)

翻譯:未知的MySQL服務(wù)器 localhosadst
分析:服務(wù)器 localhosasdst 不存在?;蛘吒緹o法連接
解決:仔細(xì)檢查自己論壇下面的 ./config.inc.php 找到$dbhost重新設(shè)置為正確的mysql 服務(wù)器地址。

Access denied for user: 'roota@localhost' (Using password: YES)

翻譯:用戶 roota 訪問 localhost 被拒絕(沒有允許通過)
分析:造成這個(gè)錯(cuò)誤一般數(shù)據(jù)庫用戶名和密碼相對(duì)mysql服務(wù)器不正確
解決:仔細(xì)檢查自己論壇下面的 ./config.inc.php 找到$dbuser、$dbpw核實(shí)后重新設(shè)置保存即可。

Access denied for user: 'red@localhost' to database 'newbbs'

翻譯:用戶 red 在localhost 服務(wù)器上沒有權(quán)限操作數(shù)據(jù)庫newbbs
分析:這個(gè)提示和問題三是不同的。那個(gè)是在連接數(shù)據(jù)庫的時(shí)候就被阻止了,而這個(gè)錯(cuò)誤是在對(duì)數(shù)據(jù)庫進(jìn)行操作時(shí)引起的。比如在select update等等。這個(gè)是因?yàn)樵撚脩魶]有操作數(shù)據(jù)庫相應(yīng)的權(quán)力。比如select 這個(gè)操作在mysql.user.Select_priv里記錄 Y 可以操作N 不可以操作。
解決:如果是自己的獨(dú)立主機(jī)那么更新mysql.user 的相應(yīng)用戶記錄,比如這里要更新的用戶為red ?;蛘咧苯有薷?./config.inc.php 為其配置一個(gè)具有對(duì)數(shù)據(jù)庫操作權(quán)限的用戶
或者通過如下的命令來更新授權(quán)grant all privileges on dbname.* to 'user'@'localhost' identified by 'password’
提示:更新了mysql庫中的記錄一定要重啟mysql服務(wù)器才能使更新生效
FLUSH PRIVILEGES;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容