跨网络的java mysql连接

Posted

技术标签:

【中文标题】跨网络的java mysql连接【英文标题】:java mysql connection across network 【发布时间】:2011-10-12 10:02:48 【问题描述】:

我需要通过网络连接到 mysql 数据库。 我给出的连接字符串是

"jdbc:mysql://host/dbname"

我可以通过网络访问该站点,但唯一的问题是 java 数据库连接。 我已经更新了 phpmyadmin.conf 文件给

# Deny from all
 Allow from all

但仍然无法建立数据库连接。 请帮帮我..

【问题讨论】:

您是否在连接中设置了用户名和密码? 我设置了一个没有密码的用户.. 我希望没问题。用户的主机选项为“任何主机” 【参考方案1】:

好的,您需要检查几件事...

1) 如果你的数据库有用户名/密码

2) 更改phpmyadmin.conf 后是否重启了服务器?

3) 确保您连接到正确的端口。例如:mysql://host:port/dbname(如果端口不同于默认值。

4) 确保拥有 DB 的 PC 允许通过端口进行传入连接。

如果您仍然遇到问题,请尝试在具有 DM 的 PC 上禁用防病毒/防火墙并尝试。

【讨论】:

我使用了没有密码的用户名。我希望没关系。其余的都做完了 只使用只有用户名的帐户也没关系,因为 MySQL 的默认帐户是“root”,没有密码。 我看到你说你已经完成了剩下的所有工作,仍然面临同样的问题?【参考方案2】:

我对 phpmyadmin 了解不多,但是我做了什么来配置远程数据库:

    连接字符串为:jdbc:mysql://host:port/dbname 默认端口为3306 mysql用户常为name@localhost,需要为远程(客户端)机器配置一个用户(IP地址、主机名、通配符)

HTH

【讨论】:

我为所有主机配置了一个用户(“客户端”)。所以用户名应该是'client@localhost'对吗? 如果用户名是client@localhost,那么只有与运行数据库相同的机器上的用户才能登录。您需要 client@%client@my_host_name 之类的东西(对于一台特定的客户端 PC)。 Mysql manual 可能会有所帮助 我尝试过 client@%,但现在它给出了错误 - 无法为您的地址找到主机名" 我在我的“my.ini”文件中添加了“[mysqld]skip-name-resolve”并解决了

以上是关于跨网络的java mysql连接的主要内容,如果未能解决你的问题,请参考以下文章

PHP PDO-MYSQL:如何跨不同类使用数据库连接

如何在 mysql 中启用跨数据库连接?

数据库连接池(基于MySQL数据库)

mySQL 子查询/跨数据库连接?

MySQL ORDER BY 跨多个连接表的列

我的JAVA连接MYSQL的错误