`
yamaru
  • 浏览: 89238 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

linux下通过JDBC连接MySQL的一个意想不到的问题

阅读更多
今天在用appfuse2 strut2 modular生成一项目框架后,执行install时,报如下错误:
ERROR [main] SchemaExport.execute(202) | schema export unsuccessful
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.ConnectException
MESSAGE: Connection refused

STACKTRACE:

java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:519)
        at java.net.Socket.connect(Socket.java:469)
        at java.net.Socket.<init>(Socket.java:366)
        at java.net.Socket.<init>(Socket.java:209)
        at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:173)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:267)
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:2739)
        at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:154)
        at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
        at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:28)
        at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:180)
        at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:133)
        at org.codehaus.mojo.hibernate3.exporter.Hbm2DDLExporterMojo.doExecute(Hbm2DDLExporterMojo.java:112)
        at org.codehaus.mojo.hibernate3.HibernateExporterMojo.execute(HibernateExporterMojo.java:140)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:443)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)


** END NESTED EXCEPTION **



然后急忙查看mysql日志,没看到任何相关的东西,然后又看是不是hibernate3的maven插件有问题,google了半天没发觉有任何相关问题的信息,最后想起了昨天发现的Debian/ubuntu下mysql默认只能从本地连接的解决方法,我将my.cnf中的bind-address改为了我的ip地址而不是默认的localhost,而我项目中的数据库连接是通过localhost连接的,于是我将bind-address改为默认的localhost后重启mysql,重新执行mvn install,一切ok拉

不过还是觉得很不爽,以前用windows操作系统从来都没遇到过这样的问题,就算我是一个linux的新手,但你看到上面那样的异常信息你能快速找出问题所在吗?
分享到:
评论
1 楼 eileandour 2008-01-13  
我在Windows环境也出现同样的问题。。。 Appfuse的JIRA上面说是因为JDBC的版本问题http://issues.appfuse.org/browse/APF-699 但是实际上我已经是5.0.5版本了。。。 请教要如何解决。。。 感谢

相关推荐

    PB通过JDBC连MYSQL教程

    JDBC(Java Database Connectivity)是Java语言中用于连接数据库的标准API,而MySQL则是一种广泛使用的开源关系型数据库管理系统。本教程将深入探讨如何使用PB通过JDBC来连接MySQL数据库。 首先,我们需要确保已经...

    PB11.5 通过JDBC连接MySQL

    3. **连接代码**:在PB11.5中,可以创建一个新的数据窗口对象,通过以下代码来建立JDBC连接: ```java String dbURL = "jdbc:mysql://localhost:3306/your_database"; String username = "your_username"; ...

    mysql-connector-java Linux下MySQL的JDBC驱动Jar包

    在Linux环境下,为了实现Java程序与MySQL数据库的连接,开发者通常会使用JDBC(Java Database Connectivity)驱动。本篇文章将详细讲解“mysql-connector-java”在Linux下作为MySQL的JDBC驱动Jar包的相关知识点。 1...

    jdbc连接mysql工具类

    下面将详细介绍如何使用Eclipse作为开发环境,通过编写一个JDBC工具类来连接MySQL数据库,并实现基本的增删改查功能。 首先,我们需要引入MySQL的JDBC驱动,也就是`mysql-connector.jar`。这个库文件包含了连接...

    一个JDBC连接mysql驱动

    它是一个符合JDBC标准的Java库,允许Java应用程序通过网络与MySQL服务器通信。 要使用MySQL JDBC驱动,首先需要将其添加到项目类路径中。这通常通过在项目构建路径中包含`mysql-connector-java.jar`文件来实现。在...

    JDBC连接Mysql数据库案例

    本案例将探讨如何使用JDBC连接MySQL数据库,并通过实际的代码示例讲解整个过程。我们将涉及以下知识点: 1. **JDBC驱动注册**: 在Java中,连接MySQL数据库首先需要加载并注册JDBC驱动。MySQL的JDBC驱动类是`...

    JDBC连接MySQL例子

    本示例是关于如何使用JDBC连接MySQL数据库的一个实践教程,涵盖了数据库连接、数据操作以及大文本和图片的存储。 首先,我们需要了解JDBC的基本流程,包括加载驱动、建立连接、创建Statement或PreparedStatement...

    jdbc 连接MySQL 例子

    jdbc连接mysql的例子,调试通过的 给初学者们节省时间

    java jdbc连接mySql的小例子

    文件列表中的"MySQL_JDBC"可能是一个压缩包,其中包含了驱动程序jar文件(如`mysql-connector-java.jar`),这是连接MySQL所需的。 1. **引入JDBC驱动** 在Java项目中,你需要将MySQL的JDBC驱动添加到类路径。这...

    jdbc连接MySQL出现的时区问题.docx

    解决JDBC连接MySQL数据库出现的时区问题

    JDBC连接MySQL 实例

    下面是一段简单的JDBC连接MySQL的示例代码: ```java import java.sql.*; public class JDBCExample { public static void main(String[] args) { // 加载MySQL驱动 Class.forName("com.mysql.cj.jdbc.Driver")...

    自己写的一个使用jdbc连接mysql的源代码

    本项目是一个使用JDBC连接MySQL数据库的简单示例,虽然目前只包含了基本的连接功能,但已经能够展示出如何通过Java代码与MySQL数据库进行交互。 首先,我们需要理解JDBC的核心概念。JDBC提供了一组接口和类,使得...

    在Eclipse中用JDBC连接MySQL数据库!.txt

    - 上述代码实现了通过JDBC驱动连接MySQL数据库的功能。 - `Class.forName(driverName);`用于加载MySQL JDBC驱动。 - `getConnection()`方法用于建立数据库连接。 - 成功连接后会在控制台输出“Connection ...

    \纯JDBC连接MySQl数据库.doc

    在Java编程中,纯JDBC(Java Database Connectivity)连接MySQL数据库是一种基础且直接的方式,用于实现Java应用程序与MySQL数据库之间的交互。下面将详细解析标题和描述中涉及的知识点,并扩展相关的内容。 1. **...

    java 使用jdbc 连接mysql 实现增删改查

    java 使用jdbc 连接mysql 实现增删改查java 使用jdbc 连接mysql 实现增删改查java 使用jdbc 连接mysql 实现增删改查java 使用jdbc 连接mysql 实现增删改查java 使用jdbc 连接mysql 实现增删改查

    java jdbc连接mysql所需要的jar包

    在使用Java连接MySQL数据库时,你需要一个特定的驱动程序库,也就是JDBC驱动,通常是一个.jar文件。这个驱动程序使得Java应用程序能够与MySQL数据库进行通信。以下是关于使用Java JDBC连接MySQL所需的知识点: 1. *...

    JDBC连接MySQL数据库关键的四个步骤

    ### JDBC连接MySQL数据库关键的四个步骤 在现代软件开发中,Java作为一种广泛使用的编程语言,其与数据库的交互是必不可少的一部分。JDBC(Java Database Connectivity)作为Java平台上的标准数据库访问接口,允许...

    JDBC连接MySQL5.0的jar包

    JDBC连接MySQL5.0.51的jar包。摘要必须大于50个字。什么时候被改成需要积分下载了?莫名,奇妙。不是我干的。

    jdbc连接mysql详细操作源代码带数据库脚本

    在IT行业中,Java Database ...总的来说,JDBC连接MySQL是Java开发中的基础技能,通过学习和实践,可以更好地掌握数据库操作,提高开发效率。记得始终关注安全,避免SQL注入等风险,确保数据的完整性和安全性。

Global site tag (gtag.js) - Google Analytics