您的位置:首页 > 运维架构 > Linux

linux 中JDK环境变量不一致问题导致mysql无法连接,总是告诉权限出错

2014-08-04 08:55 701 查看
应用程序在开发环境上测试没有任何问题,但是部署到linux环境就出问题:

以下是错误信息:

Error:Access denied for user 'root'@'localhost' (using password: YES)

............

at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:348)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:284)

at java.sql.DriverManager.getConnection(libgcj.so.10)

at java.sql.DriverManager.getConnection(libgcj.so.10)

at DBCon.main(DBCon.java:14)

找了好久没有找到原因,一开始以为是mysql的驱动版本不对,换了几个也不行。

突然发现java -version和安装的不一致,使用的的原始的jdk版本:

先用which java查看用的是哪个JAVA,结果显示为

[root@localhost soft]# which java

/usr/bin/java

说明并不是用的刚安装的JAVA版本,那么把JAVA路径放到PATH前面试试

export JAVA_HOME=/usr/java/jdk1.6.0_35

export JAVA_BIN=/usr/java/jdk1.6.0_35/bin

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLASSPATH

使环境变量生效后再看

[root@localhost ~]# which java

/usr/java/jdk1.6.0_35/bin/java

[root@localhost ~]# java -version

java version "1.6.0_35"

Java(TM) SE Runtime Environment (build 1.6.0_35-b10)

Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixed mode)

更改完以后,发现问题解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐