【问题标题】:Mysql in localhost本地主机中的Mysql
【发布时间】:2021-02-26 21:26:30
【问题描述】:

我已经在我的计算机上安装了 Mysql,并且我已经创建了我的数据库。 我还创建了一个使用下面附加的代码连接到数据库的 Java 程序。 如果我发布程序,与数据库的连接是否可以在其他用户的计算机上正常工作? 如果代码在“localhost”会不会有问题?

感谢所有帮助我的人!

public static Connection getConnection() throws Exception{
        
        try {

            String url = "jdbc:mysql://localhost:3306/mybooks?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
            String username = "root";
            String password = "mypassword";
            
        
            Connection conn = DriverManager.getConnection(url, username, password);
            return conn;
        } catch (Exception e) {
            System.out.println(e);
            } 
        
        
        
        return null;
    }

【问题讨论】:

  • 我们需要更多信息来帮助您。请edit您的问题。您打算要求 Java 程序的用户安装他们自己的 MySQL 服务器副本,还是共享单个服务器和其中的数据?如果后者是真的,您是否已经设置了服务器和 MySQL 安装?您的用户会发现他们的机器和服务器之间有防火墙吗?
  • 感谢两位的回答。正如您所看到的 @O.Jones ,我在已编辑的问题中附加了我的代码。希望这能有所帮助!
  • @SlavaRozhnev 我的想法不是在用户的电脑上安装 Mysql(因为我认为这不是解决问题的最佳方法),而是让他们连接到我的数据库。

标签: java mysql sql database localhost


【解决方案1】:

您需要将 MySQL 服务器放在所有用户都可以通过 LAN 或 Internet 访问的机器上。那台机器需要有一个可用的互联网地址,或者像database.rich05.example.com这样的主机名,或者像192.0.2.123这样的IP地址。

然后您需要在 MySQL 服务器上为您的用户创建一个帐户和密码。您可以选择为所有用户创建一个帐户,或者为每个用户创建一个单独的帐户。 (我建议后一种方法。)

然后你需要改变你的连接字符串

jdbc:mysql://localhost:3306/mybooks?whatever=val&whatever=val

jdbc:mysql://192.0.2.123:3306/mybooks?whatever=val&whatever=val

jdbc:mysql://database.rich05.example.com:3306/mybooks?whatever=val&whatever=val

或任何互联网地址。然后您将配置您的程序以使用正确的用户名和密码。

在 Java 程序中,连接字符串和用户名通常存储在属性文件中。

详细解释所有这些对于 Stack Overflow 的回答来说太过分了。试一试,如果需要,可以提出更具体的问题。

【讨论】:

  • 非常感谢@O.Jones,这就是我正在寻找的答案!我会尽快尝试。再见
  • 嗨,伙计,我按照您的建议按照所有步骤进行操作。不幸的是,它没有像我希望的那样工作,因为来自其他机器的用户无法连接到我的数据库。您建议我通过 LAN 或 Internet 访问我的机器,但我不知道该怎么做。你能解释一下你的意思吗?非常感谢
  • 您可以访问服务器计算机吗?您可以联系可以帮助您设置服务器计算机的人吗?您需要在该计算机上安装 MySql 并将您的数据加载到其中。
  • 请帮助我调整我能提供的任何建议。你的目标用户是谁?您将如何将您的应用交付给他们?您是否在具有 IT 职能的公司工作?您的应用程序会在公共网络上运行还是在 LAN 上运行?你知道如何设置服务器机器(服务器计算机)吗?
  • 嗨,感谢@O.Jones 的回复速度。我已经在我的电脑上安装了 MYSQL,但不幸的是我不知道任何人可以帮助我。我在 15 岁时正在学习自己编码,所以我认为一开始用户数量不会很大。我会以安装设置的形式将程序传递给他们。我对如何设置服务器机器一无所知,这就是我问你的。但是,您认为尝试此解决方案是否仍然合适,还是切换到另一种类型的数据库(如 SQLite)更好?
猜你喜欢
  • 2013-11-11
  • 1970-01-01
  • 1970-01-01
  • 2013-07-06
  • 1970-01-01
  • 2013-12-24
  • 2016-10-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多