今天弄Android studio的時(shí)候,數(shù)據(jù)庫(kù)連接總是不行,一直超時(shí)沒(méi)反應(yīng),仔細(xì)思考覺(jué)得是ip地址出了問(wèn)題,在jdbc:mysql://xxxx:3306/DBname 這句語(yǔ)句中的xxxx具體寫什么地址使我浪費(fèi)了很多時(shí)間,不論是用公網(wǎng)ip地址還是私網(wǎng)ip地址還是本機(jī)地址127.0.0.1都沒(méi)有用。
我公網(wǎng)ip地址和本機(jī)地址浪費(fèi)了太多時(shí)間,因?yàn)檫@玩意用了第三方模擬器所以不能用本機(jī)地址,而經(jīng)過(guò)chatgpt的指點(diǎn)后,我確定了應(yīng)該把方向放在私網(wǎng)ip上,方向?qū)α?,?wèn)題就解決了。
而java.sql.SQLException: null, message from server: "Host ‘XXX’ is not allowed to connect,這就是我把方向放在私網(wǎng)ip后出現(xiàn)的問(wèn)題。
解決辦法:修改數(shù)據(jù)庫(kù)權(quán)限
flush privileges是為了將權(quán)限更新操作刷新到內(nèi)存中,而不用下次啟動(dòng)時(shí)生效。
不用這句話的話重啟mysql服務(wù)也行。
上面操作執(zhí)行完成之后就可以連接數(shù)據(jù)庫(kù)了。
反思:此次解決問(wèn)題花了很多時(shí)間,這個(gè)問(wèn)題的產(chǎn)生原因是用了第三方模擬器不能直接連本地地址,但是我卻不知道用哪個(gè)地址。
我應(yīng)該:本機(jī)地址不行->換私網(wǎng)ip->解決私網(wǎng)ip的問(wèn)題(數(shù)據(jù)庫(kù)權(quán)限問(wèn)題)->解決問(wèn)題
但是我:本機(jī)地址不行->換公網(wǎng)ip->公網(wǎng)ip彈出的問(wèn)題(超時(shí))不是根本問(wèn)題->解決了之后并不能解決問(wèn)題
對(duì)策:以后解決問(wèn)題首先要定位問(wèn)題出現(xiàn)在哪里,然后把解決方案先列出來(lái),以廣度優(yōu)先搜索的方式去試這些問(wèn)題,不要太死磕一個(gè)方案,當(dāng)一個(gè)方案行不通時(shí)要立刻換方案,然后繼續(xù)深究。如:看報(bào)錯(cuò)定位是數(shù)據(jù)庫(kù)問(wèn)題,然后數(shù)據(jù)庫(kù)問(wèn)題肯定是這地址選用問(wèn)題,到底選用什么地址就是關(guān)鍵問(wèn)題。公網(wǎng)ip的超時(shí)問(wèn)題不是根本問(wèn)題,私網(wǎng)ip的服務(wù)器權(quán)限才是根本問(wèn)題。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-406113.html
參考:https://blog.csdn.net/m0_37460012/article/details/90290148文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-406113.html
到了這里,關(guān)于解決java.sql.SQLException: null, message from server: “Host ‘XXX‘ is not allowed to connect異常的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!