Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行连接到其他计算机上的本地主机数据库的Java程序_Java_Mysql_Localhost_Remote Access - Fatal编程技术网

运行连接到其他计算机上的本地主机数据库的Java程序

运行连接到其他计算机上的本地主机数据库的Java程序,java,mysql,localhost,remote-access,Java,Mysql,Localhost,Remote Access,我已经使用以下代码将我真正基本的Java应用程序连接到我计算机上的Wamp服务器 try { Class.forName("com.mysql.jdbc.Driver"); Connection connection = DriverManager.getConnection( "jdbc:mysql://localhost:3306/project", "root", "password"); 显然,这个程序在我的计

我已经使用以下代码将我真正基本的Java应用程序连接到我计算机上的Wamp服务器

try {  
        Class.forName("com.mysql.jdbc.Driver");  
        Connection connection = DriverManager.getConnection(  
                "jdbc:mysql://localhost:3306/project", "root", "password");
显然,这个程序在我的计算机上运行,但没有其他人的,我需要将它作为一个项目提交

我是否可以修改此部分,以便我的合作伙伴和老师可以从他们的计算机上运行代码,而无需下载任何特殊软件,并访问本地主机上的数据库?可能需要将
//localhost:3306
替换为
//我的IP地址:8080

我得到的所有建议都涉及到网络,我对网络一无所知,所以我不想尝试然后把我的电脑弄乱,除非我真的确定

我已经看过但不确定的东西:

  • C:/wamp/alias/phpmyadmin.conf
    并输入行
    ALLOW(其他人的IP)
  • team viewer(要求其他计算机使用我的程序以外的软件)
  • 打开路由器端口以接收传入请求
任何事情都会对男人们有所帮助,即使只是确认没有网络是无法做到的。
如果这是一个没有经验的人可以做的事情,我就接受。

除了您已经尝试过的以外,您还需要授予访问数据库的权限

尝试从其他IP地址向用户授予权限

阅读文档

示例

GRANT ALL ON test.* TO '%'@'localhost' ...
GRANT ALL ON test.* TO '%'@'%' ...
GRANT ALL ON test.* TO 'ravinder'@'192.168.1.105' ...
etc...
还有其他形式的授予从特定计算机或所有计算机连接的特定或所有用户访问特定数据库对象的权限。
我建议你选择一个适合你需要的

但是,请记住,
'%@'
将允许来自所有系统的所有用户

授予特权后,使用IP地址更改连接字符串的dbURL值

Connection connection = 
DriverManager.getConnection(  
                "jdbc:mysql://your_system_ip_or_name_here:3306/project",
                "root", "password");

将重新生成的应用程序部署到所需的系统上,它应该可以工作。

您是否尝试过:
//我的IP地址:3306
?假设没有任何防火墙或路由问题。如果您的老师正在做这样的作业,那么他们可能有您将如何提交项目的详细信息,您可能错过了这些信息。请参阅:@North如果他们应该在自己的计算机上建有数据库,请提供配置路由的方法(如.properties文件),如果不是,你可以考虑为你的应用程序使用一个嵌入式MySQL服务器,或者找到你的外部IP地址,然后打开你的路由器上的端口3306,尝试“<代码> /我的IP ,但是当我在我的系统上运行时,它会产生某种回环错误,所以当我说“我看的东西”时,我不能肯定我不清楚。我的意思是,这些都是我在寻找答案时读到的东西,但它们都需要a)其他人在他们的计算机上有一个数据库服务器,或者b)打开一个端口,这是我不想做的事情。那么,你是说仅仅使用GRANT就可以允许访问,而不需要另一台计算机在同一个网络上,没有数据库,或者我的端口处于打开状态?你需要选项b,还需要GRANT。