运行MySQL而不安装它[关闭]
Posted
技术标签:
【中文标题】运行MySQL而不安装它[关闭]【英文标题】:Run MySQL without install it [closed] 【发布时间】:2017-02-24 13:33:18 【问题描述】:我有一个 java 项目。它使用 mysql 数据库事务。我会在另一台计算机上运行这个 java 项目。我会做一个设置。在此设置中需要导入 .sql 数据文件。但是 MySQL 必须是。而且我不会在另一台计算机上安装 MySQL。我会将 MySQL 服务器文件放入设置中。
我该怎么办?
【问题讨论】:
请edit您的问题提供更多信息。您的用户(运行您的安装程序的用户)会使用他们自己的 MySQL 服务器来运行您的 Java 程序吗?几个用户会互相共享同一个 MySQL 服务器吗? MySQL 服务器是否总是与您的 Java 程序位于不同的机器上? 【参考方案1】:而不是像这样使用 localhost 连接:
Connection connection = DriverManager.getConnection(
"jdbc:somedb://localhost/databasename", "username", "password");
您可以使用其他计算机或服务器的@IP,例如10.6.99.122
,这样可以解决您的问题,无需在其他计算机上安装或导入您的sql文件:
Connection connection = DriverManager.getConnection(
"jdbc:somedb://10.6.99.122/databasename", "username", "password");
编辑
你可以在这里Java, MySQL: Is there a way to embed a MySQL server with a Java program?和Embedding mysql in java desktop application以及here了解更多关于嵌入式数据库的信息
【讨论】:
还有别的办法吗?我不会更改程序代码。 如果你使用 mysql 或任何 DBMS 女巫不是嵌入式数据库en.wikipedia.org/wiki/Embedded_database 所以我担心这是不可能的@SOFJMP 是的,我使用 MySQL。 @YCF_L @SOFJMP 所以你不能在没有安装 MySQL 的情况下使用备份或 .sql,因为它不提供嵌入式数据库【参考方案2】:您可以使用外部连接并将数据库托管到虚拟主机,或者如果您不需要共享数据并且数据由用户自己在本地存储和生成,那么您可以使用 sqlite 文件代替。 您的问题应详细说明数据类型以及如何使用,以便我们为您提供最佳解决方案。
【讨论】:
我不会使用 sqlite。【参考方案3】:如果您希望您的客户在他们的计算机上运行您的 Java 程序并将其连接到他们的 MySQL 服务器,您必须将您的数据库连接字符串放入 Java 属性文件中。 对此您别无选择。您必须允许您的客户设置他们自己的连接字符串值。
连接字符串用于建立新的 JDBC 连接。它们通常看起来像这样:
jdbc:mysql://mysql1.datacenter.example.com:3306/sofjmp?user=username&password=xxxxxsx
您可以在存储在属性文件中的连接字符串中包含用户的数据库用户名和密码机密。这使您的客户可以指定自己的数据库凭据。
您的安装程序应包含有关设置该连接字符串属性的用户说明。您还可以在安装程序中包含带有表定义的 .sql 文件。您可以指示您的客户在他们首次设置您的程序时运行 .sql 文件。
【讨论】:
以上是关于运行MySQL而不安装它[关闭]的主要内容,如果未能解决你的问题,请参考以下文章