解決方法:1、利用“select host,user from user;”查看root用戶的可連接權(quán)限主機(jī)范圍;2、利用“update user set host=‘%’ where user=‘root’;”修改root用戶的修改權(quán)限的主機(jī)范圍是任一主機(jī);3、利用“systemctl restart mysqld”重啟數(shù)據(jù)庫(kù)即可。
本教程操作環(huán)境:windows10系統(tǒng)、mysql8.0.22版本、Dell G3電腦。
mysql遠(yuǎn)程連接不上怎么辦
我的分析和解決步驟:
1、查看root用戶的可連接權(quán)限主機(jī)范圍
step 1:登入mysql監(jiān)視器,通過(guò)命令: mysql -uroot -p
step 2.:根據(jù)提示輸入密碼
step 3: 選擇mysql數(shù)據(jù)庫(kù),通過(guò)命令:use mysql;
step 4: 通過(guò)命令:select host,user from user;
界面如果是如下輸出:
±----------±----------+ |?host?|?user?| ±----------±----------+ |?localhost?|?mysql.sys?| |?localhost?|?root?| ±----------±----------+
從上面的圖可以看出,root用戶的可連接權(quán)限的主機(jī)范圍是localhost,我這邊是用來(lái)測(cè)試玩,ip不固定,所以直接給所有主機(jī)都開放權(quán)限。
2、修改root用戶的可連接權(quán)限主機(jī)范圍
step 5:修改root用戶的連接權(quán)限的主機(jī)范圍為任一主機(jī),執(zhí)行命令:update user set host=‘%’ where user=‘root’;
step 6: 再查看root用戶的連接權(quán)限:select host,user from user;
界面會(huì)是如下輸出:
±----------±----------+ |?host?|?user?| ±----------±----------+ |?%?|?root?| |?localhost?|?mysql.sys?| ±----------±----------+
從圖中可以看到,root用戶的可連接權(quán)限的主機(jī)范圍是“%”符號(hào)了,該符號(hào)說(shuō)明是任一主機(jī)。
3、重啟數(shù)據(jù)庫(kù)
step 7:如果修改完權(quán)限后你還是遠(yuǎn)程連接不上mysql數(shù)據(jù)庫(kù),那就是需要重啟一下mysql服務(wù)器,執(zhí)行命令:
systemctl?restart?mysqld
到此,你再通過(guò)root用戶重試連接就可以了。
最后,附上例圖一張:
推薦學(xué)習(xí):mysql視頻教程