[英]Connect to MySQL database over public ip address?
我為此使用Xampp,並能夠使用主機靜態IP 192.168.0.x
將其從手機連接到主機,但是當我嘗試通過公共IP地址連接到數據庫時,它失敗了。
http://192.168.0.x/testdatabase/
可以,但是http://xx.xx.xxx.xx/testdatabase/
(我的公共IP)不起作用,我已在端口3306上啟用了到主機靜態IP的端口轉發但是它仍然失敗,我什至嘗試在IP末尾添加:3306
。
如何通過我的公共IP地址連接到服務器?
我可能會使用SSH隧道。
使用SSH隧道連接到服務器,然后使用本地客戶端,在為MySQL設置隧道的任何端口上連接到localhost。
在Windows上,您可以使用膩子來做到這一點。 或在MacOS / Linux上使用ssh。
關於如何設置SSH隧道,我不會做完整的介紹,但是您會在網絡上找到大量的資源。
問題不是PHP,問題是您沒有指定用戶從另一個IP連接的權限。
您在權限管理中授予用戶特定的權限。 假設,如果要以用戶“ foo”的身份從10.10.10.10到您的數據庫,則必須允許它:
GRANT ALL ON mydatabase.* TO bar@'10.10.10.10' IDENTIFIED BY 'randompassword';
否則,MySQL將阻止對您的數據庫的訪問。
您還可以允許每個IP:
GRANT ALL ON mydatabase.* TO bar@* IDENTIFIED BY 'randompassword';
旁注:不允許從內部網絡(甚至本地主機)以外的位置進行訪問是不好的。 將您的服務器暴露給世界不會有任何好處。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.