解決方法:1、利用「select host,user from user;」查看root使用者的可連線權限主機範圍;2、利用「update user set host='%' where user='root'; 「修改root使用者的修改權限的主機範圍是任一主機;3、利用「systemctl restart mysqld」重啟資料庫即可。
本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
我的分析與解決步驟:
1、檢視root使用者的可連線權限主機範圍
step 1:登入mysql監視器,透過指令: mysql -uroot -p
step 2.:依照提示輸入密碼
step 3:選擇mysql資料庫,透過指令:use mysql;
step 4: 透過指令:select host,user from user;
介面如果是如下輸出:
±----------±----------+ | host | user | ±----------±----------+ | localhost | mysql.sys | | localhost | root | ±----------±----------+
從上面的圖可以看出,root用戶的可連接權限的主機範圍是localhost,我這邊是用來測試玩,ip不固定,所以直接給所有主機都開放權限。
2、修改root使用者的可連接權限主機範圍
#step 5:修改root使用者的連線權限的主機範圍為任一主機,執行指令:update user set host='%' where user='root';
#step 6: 再查看root使用者的連線權限:select host,user from user;
介面會是如下輸出:
±----------±----------+ | host | user | ±----------±----------+ | % | root | | localhost | mysql.sys | ±----------±----------+
從圖中可以看到,root使用者的可連接權限的主機範圍是「%」符號了,該符號說明是任一主機。
3、重啟資料庫
step 7:如果修改完權限後你還是遠端連線不上mysql資料庫,那就是需要重新啟動一下mysql伺服器,執行指令:
systemctl restart mysqld
到此,你再透過root使用者重試連線就可以了。
最後,附上例圖一張:
推薦學習:mysql影片教學
以上是mysql遠端連線不上怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!