我有一个使用 java se 的应用程序,在编码时我在本地主机上安装了 mysql 工作台,一切正常。现在我必须分发 jar 文件以便人们可以使用它。但是当我尝试访问数据库时,它说连接错误。在数据库路径中,我将 localhost 替换为数据库所在计算机的 ip。有人可以帮我吗。
非常感谢
我有一个使用 java se 的应用程序,在编码时我在本地主机上安装了 mysql 工作台,一切正常。现在我必须分发 jar 文件以便人们可以使用它。但是当我尝试访问数据库时,它说连接错误。在数据库路径中,我将 localhost 替换为数据库所在计算机的 ip。有人可以帮我吗。
非常感谢
以管理员用户身份在数据库上运行查询。
GRANT ALL ON db1 TO 'jeffrey'@'%';
假设这db1
是您的架构并且jeffrey
是您要授予访问权限的用户。
如您所知,对于一般的 JDBC,您需要在连接字符串中指定主机。
您也知道,您通常在 Class.forName() 中指定驱动程序,并在 Java CLASSPATH 中指定驱动程序的 .jar 目录。
您可能正在使用 MySql/J 连接器 - 我相信您的客户端需要与您的应用程序一起部署。
您还需要确保 mySql 端口(默认 3306)已打开。
Mysql“用户”是在每个主机的基础上定义和授权的。您还需要确保在“用户”mysql 表中正确设置。
确保您的应用程序记录所有可用的异常信息。请在此处发布任何特定的错误消息。
'希望有帮助
PS:与“mysql workbench”唯一相关的是,当您使用 mysql workbench 在本地运行它时,您的应用程序恰好可以工作,对吗?如果是这样,它可能不是这个问题的好标签......