mysql數(shù)據(jù)庫無法被其他ip訪問的解決方法
前言
還是之前說的項目,環(huán)境目前已經(jīng)準(zhǔn)備好了,項目準(zhǔn)備驗證階段發(fā)現(xiàn)了一個問題,從上層應(yīng)用輸入鑒權(quán)訪問應(yīng)用,一直在等待狀態(tài),輸入了正確的用戶名及密碼,卻無法訪問。看起來像是沒辦法訪問到數(shù)據(jù)庫連接的意思。
mysql部署后的端口一般都是3306,嘗試去ping和telnet 3306端口,發(fā)現(xiàn)ip可以ping通,但是3306端口無法被telnet,并且給出了一個這樣的報錯:
ERROR 1130: Host *.*.*.* is not allowed to connect to MySQL
看到這個錯誤后,上網(wǎng)一查,基本上有挺多解決方案,但是為什么還要專門寫一下呢?
答案是:網(wǎng)上很多都是mysql 5.6的解決方法,在5.7里,這個錯誤解決方法如下:
1.在第一次登陸mysql后,需要及時修改root的密碼,這里5.6和5.7有一個差異,那就是5.6的密碼字段為:password,但是在5.7版本里,這個字段被取消了,取而代之的是:authentication_string字段。
正確的修改方法為:
update user set authentication_string=password("xxxx") where user = "root"; flush privileges;
2.修改好了之后,我們用use mysql命令切換到mysql庫里,注意,這個mysql庫在mysql里是真是存在的,存放一些db相關(guān)信息的庫。
命令:use mysql;
3.找到users表,執(zhí)行如下命令:
grant all privileges on *.* to 'root'@'%' identified by 'JLwg!2017' with grant option;
網(wǎng)上關(guān)于這塊的修改方法很多,應(yīng)該一共有4種,我用的是其中一種。
這個命令的意思是,修改root用戶的訪問權(quán)限,讓所有ip都可以訪問這個用戶,這樣一來的話,我們的應(yīng)用就可以從外部ip訪問這個mysql了,不然只有l(wèi)ocalhost可以訪問,很不方便。
4.最后執(zhí)行flush privileges;
命令,重啟Mysql服務(wù),應(yīng)用順利登陸成功。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
MySQL如何使用DATE_FORMAT()對查詢結(jié)果按日、周、月分組統(tǒng)計
這篇文章主要介紹了MySQL如何使用DATE_FORMAT()對查詢結(jié)果按日、周、月分組統(tǒng)計問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04MySQL數(shù)據(jù)庫InnoDB引擎主從復(fù)制同步經(jīng)驗總結(jié)
這篇文章主要介紹了MySQL數(shù)據(jù)庫InnoDB引擎主從復(fù)制同步經(jīng)驗總結(jié),本文總結(jié)了設(shè)置主從復(fù)制時遇到的一些錯誤和解決方法,需要的朋友可以參考下2015-01-01MySQL?根據(jù)多字段查詢重復(fù)數(shù)據(jù)的示例代碼
本文介紹了如何使用 MySQL 根據(jù)多個字段查詢重復(fù)數(shù)據(jù),我們介紹了如何根據(jù)多個字段查詢重復(fù)數(shù)據(jù),并提供了相應(yīng)的代碼示例,通過這些方法,我們可以快速準(zhǔn)確地找到和處理重復(fù)數(shù)據(jù),提高數(shù)據(jù)庫的數(shù)據(jù)質(zhì)量,需要的朋友可以參考下2023-11-11MySQL中count(*)、count(1)和count(col)的區(qū)別匯總
count()函數(shù)是用來統(tǒng)計表中記錄的一個函數(shù),返回匹配條件的行數(shù),下面這篇文章主要給大家總結(jié)介紹了關(guān)于MySQL中count(*)、count(1)和count(col)的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2018-03-03