从远程系统上传 MySQL 数据库并访问 Java 应用程序

Posted

技术标签:

【中文标题】从远程系统上传 MySQL 数据库并访问 Java 应用程序【英文标题】:Upload MySQL database and access on Java application from a remote system 【发布时间】:2018-02-27 11:58:48 【问题描述】:

我最近使用 Java 作为前端,使用 mysql 作为后端数据库构建了一个桌面应用程序。现在我希望其他人也能使用这个应用程序。

所以我的问题是如何在线上传我的 MySQL 数据库,以便应用程序可以远程访问它?我应该在我使用 MAMP 来创建和设置此数据库中进行哪些更改。我做的第一件事是......

connection = DriverManager.getConnection("jdbc:mysql://" + host + "/" + database, username, password);

然后我使用

添加了一个新的 MySQL 用户
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

我还创建了一个 my.cnf 文件并添加了

bind-address = 192.168.1.45

现在在远程系统上我得到了

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

【问题讨论】:

【参考方案1】:

如果您希望从外部访问您的数据库,则必须将其托管到服务器上,您可以选择在本地进行(您必须设置本地服务器)或使用 Azure 或 Amazon Web 等数据库云服务服务 (AWS)。编辑: 我还为您找到了这个:www.GearHost.com 为 MS SQL 和 MySQL 提供免费托管。免费数据库 MSSQL 的限制为 10 MB。 来源:https://www.quora.com/Is-there-any-free-SQL-Server-hosting-available

https://aws.amazon.com/free/ 这是 Amazon 提供的一项服务,可让您免费托管数据库 12 个月,之后根据您选择的层级收取(或不收取)费用。

【讨论】:

通过设置本地服务器,只能在同一网络上的系统访问数据库,对吗?有没有我不需要投资的免费云服务(因为这不是那些主流项目之一)? 我在答案中添加了可能回答此问题的信息,如果您觉得有用,请单击绿色复选标志接受它作为答案。 是的,我调查过了。无论如何我可以使用wildfly或其他东西吗? 检查我的编辑,我做了一些研究,发现了一个可以为您解决问题的服务,因为您的数据库相对较小(我希望如此:)) 谢谢!完全符合我的需要。

以上是关于从远程系统上传 MySQL 数据库并访问 Java 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

安装MySQL数据库并开启远程访问

CentOS 设置mysql的远程访问

如何从本地远程访问虚拟机内的Mysql服务器?

来自远程系统的 php 中的 XAMPP Mysql 连接错误

Java实现文本文件MD5加密并ftp上传到远程主机

无法从android中的远程ubuntu tomcat服务器连接mysql数据库