跨网络的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连接的主要内容,如果未能解决你的问题,请参考以下文章