各位,我先介绍一下情况,我的java控制台程序在windows下连接第三方虚拟主机的mysql数据库,调试没问题,把jar程序移植到linux后,就是连不上,报connection timeout之类的错误,因为mysql数据库是第三方主机,windows下可以说明数据库本身配置没有问题,各位达人,难道程序移植到linux上还需要linux满足什么条件吗? 如何检验是否满足这些条件?     jdk都已经安装。          try {
                    Class.forName("org.gjt.mm.mysql.Driver").newInstance();
                    Entity.con = DriverManager.getConnection("jdbc:mysql://***.129:3306/nuu7129_db?useUnicode=true&characterEncoding=GBK", "username", "pass");
                    Entity.st = Entity.con.createStatement();
                    String sql = "select * from table1;"; 
                    ResultSet rset = Entity.st.executeQuery(sql);  
                    while (rset.next())
                    { System.out.println(rset.getString("SiteID") + " " + rset.getString("SO2")); } 
               
                    Entity.st.close();
                    Entity.con.close();                } catch (Exception e) {
                    e.printStackTrace();                }

解决方案 »

  1.   

    下载基于JDBC的SQL客户端:http://squirrel-sql.sourceforge.net/
    安装在Linux下测试 
      

  2.   

    要不你在linux上装个mysql 看能连上不?
      

  3.   

    楼上的朋友 我要连得mysql不在本机上 即时能连上还是解决不了远程数据库的问题嘛
      

  4.   

    二楼的朋友 我下了你推荐的工具 里面大部分的数据连接driver都是红叉 怎么才能安装上呢?
      

  5.   

    driver要自行下载
    配置jdbc driver的文件路径就可以
      

  6.   

    你先确定下服务器上的mysql服务起来了吗?telnet ip地址 端口号 看下能连通吗?或者你ps aux|grep mysql,看下有mysql的进程没?安装和服务没问题的话,mysql -u用户名 -p密码,进到mysql命令行,先看下数据库是否运转正常。比如show database;-->show tables;-->use tablename;-->select * from tablename;简单测试下。
    如果正确在linux上面安装了mysql,服务也能起来,那就在本机下断点看下java运行的问题。
      

  7.   

    朋友 如果JDBC驱动太旧,在WIN下面运行正常
    但是在LINUX下面不一定能运行,
    建议下载最新版本的jdbc驱动希望对你有帮助
      

  8.   

    你要远程访问mysql就需要有两台服务器,假如你是从linux访问windows上的mysql,那么windows上的mysql需要开启,然后在linux上编写访问代码,在url中写入windows服务器的ip地址。实现两台服务器的同时开启你可以用虚拟机,如VMWare。
      

  9.   

    linux的jdbc驱动问题,我以前也遇到过,同一个版本的驱动换在linux下去要for Linux版的 ,我也很诧异