问题描述
各位,我先介绍一下情况,我的java控制台程序在windows下连接第三方虚拟主机的mysql数据库,调试没问题,把jar程序移植到linux后,就是连不上,报connectiontimeout之类的错误,因为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();Stringsql="select*fromtable1;";ResultSetrset=Entity.st.executeQuery(sql);while(rset.next()){System.out.println(rset.getString("SiteID")+""+rset.getString("SO2"));}Entity.st.close();Entity.con.close();}catch(Exceptione){e.printStackTrace();}
解决方案
解决方案二:
下载基于JDBC的SQL客户端:http://squirrel-sql.sourceforge.net/安装在Linux下测试
解决方案三:
要不你在linux上装个mysql看能连上不?
解决方案四:
楼上的朋友我要连得mysql不在本机上即时能连上还是解决不了远程数据库的问题嘛
解决方案五:
二楼的朋友我下了你推荐的工具里面大部分的数据连接driver都是红叉怎么才能安装上呢?
解决方案六:
driver要自行下载配置jdbcdriver的文件路径就可以
解决方案七:
引用2楼zn85600301的回复:
要不你在linux上装个mysql看能连上不?
这个建议是合理的
解决方案八:
你先确定下服务器上的mysql服务起来了吗?telnetip地址端口号看下能连通吗?或者你psaux|grepmysql,看下有mysql的进程没?安装和服务没问题的话,mysql-u用户名-p密码,进到mysql命令行,先看下数据库是否运转正常。比如showdatabase;-->showtables;-->usetablename;-->select*fromtablename;简单测试下。如果正确在linux上面安装了mysql,服务也能起来,那就在本机下断点看下java运行的问题。
解决方案九:
朋友如果JDBC驱动太旧,在WIN下面运行正常但是在LINUX下面不一定能运行,建议下载最新版本的jdbc驱动希望对你有帮助
解决方案十:
你要远程访问mysql就需要有两台服务器,假如你是从linux访问windows上的mysql,那么windows上的mysql需要开启,然后在linux上编写访问代码,在url中写入windows服务器的ip地址。实现两台服务器的同时开启你可以用虚拟机,如VMWare。
解决方案十一:
linux的jdbc驱动问题,我以前也遇到过,同一个版本的驱动换在linux下去要forLinux版的,我也很诧异