我用 xampp 托管 Apache 服務器,并在我的 PC1 上創建了本地 MYSQL 數據庫。PC1 已連接到網絡 1。我開發了簡單的 Java 程序,它以這種方式連接到數據庫:static final String USERNAME="[myusername]";static final String PASSWORD="[password]";static final String CONN_STRING="jdbc:mysql://[myIP]:3306/[database_name]";con=DriverManager.getConnection(CONN_STRING , USERNAME, PASSWORD);這在我的 PC1 上工作得非常好,即使我用我的 IP 而不是“localhost”更改了鏈接。在數據庫中執行此命令后它起作用了:GRANT ALL PRIVILEGES ON *.* TO [username]@[myIP] IDENTIFIED BY '[password]' WITH GRANT OPTION所以我想對我的 PC2 做同樣的事情,它也存儲這個 JAVA 程序,但它連接到另一個網絡 - NETWORK2。是否有可能發生這種情況 - 通過我的 JAVA 程序將 PC2 從外部網絡連接到 PC1 上托管的 mySQL 數據庫?
3 回答

慕容3067478
TA貢獻1773條經驗 獲得超3個贊
當然,為什么不呢?您只需要確保您PC1
可以從其他網絡訪問,并且必要的端口 ( 3306
) 是打開的。
您可以 ping PC1
fromPC2
以檢查這是否可行。

白衣非少年
TA貢獻1155條經驗 獲得超0個贊
您需要將bind-address
localhost 更新為 mysql 服務器的 IP。找到mysql conf文件并編輯:
mysql conf 文件的位置是/etc/my.cnf
or/etc/mysql/my.cnf
或/usr/local/mysql/etc/my.cnf
bind-address = <IP address where MySql is running>
還要確保 mysql-server 機器的端口 3306 已打開并可從其他 PC 訪問。然后添加所需的權限。

開滿天機
TA貢獻1786條經驗 獲得超13個贊
是的,您可以通過將兩臺計算機連接到同一個 LAN 連接來做到這一點。在此之后檢查安裝了 mysql 的 PC 的 IP 地址。您只需在終端上鍵入 ifconfig(linux)/ipcofing(window) 命令即可找到它。確保您使用的本地 IP 地址(顯示為 192.168.1.144)不是公共的。
在我的 /usr/local/mysql/etc/my.cnf 文件中使用該 IP 地址進行綁定,并在您的 java 程序中使用該 IP 地址。您的代碼將成功運行。
添加回答
舉報
0/150
提交
取消