为什么JDBC无法连接到本地Mysql Server

时间:2013-12-24 12:19:22

标签: java mysql linux jdbc

我有一台带有CentOS和mysql服务器的机器(我们称之为“服务器”)。还有另一个(我的桌面)机器与Debian(让我们称之为'桌面')。我试图在台式机上启动java程序。应用程序连接到服务器的mysql数据库没有任何麻烦。

当我完成此应用程序的开发(它仍然可以正常工作并连接到数据库)时,我尝试将此应用程序部署到服务器计算机。我在服务器上构建了应用程序并尝试使用仍在托管在服务器计算机上的数据库启动。所以现在它似乎是我的应用程序的本地数据库。但是在使用服务器IP地址或“localhost”或127.0.0.1连接到DB期间失败。我只有:

java.sql.SQLException: null,  message from server: "Host '82.192.90.179' is not allowed to connect to this MySQL server". 

在服务器上的my.cnf文件中,我设置了“bind-address=0.0.0.0”。

PS :最有趣的是,我使用ssh在服务器上执行所有操作,如果我尝试使用“mysql”控制台工具连接到数据库,则可以使用-h82.192.90连接OK。 179和没有-h选项(似乎是localhost作为dafault)

2 个答案:

答案 0 :(得分:0)

要知道这是权限问题,请尝试GRANT ALL ON TO'someuser'@%;

http://dev.mysql.com/doc/refman/4.1/en/grant.html 然后通过将'82 .192.90.179'替换为%来修改上述语句。

答案 1 :(得分:0)

  

如果您觉得连接JDBC很困难,请尝试使用mysql workbench MySQL WORKBENCH

1.确保您必须将服务器代码托管到本地服务器或公共服务器

2.如果您托管本地服务器意味着它将无法正常工作

3.确保您的服务器处于活动状态

DB_URL =“jdbc:mysql:// localhost:portnumber / databasename”

eg.DB_URL =“jdbc:mysql:// localhost:3306 / cmes”

在Web.xml的服务器端维护这样的会话配置

<session-config>
  <session-timeout>-1</session-timeout> 
  </session-config>