昨天晚上就为了连个数据库,搞到2点都没有连上,一直出现这个问题
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
网上网友的解决方法页各有千秋
记忆里大概有3种吧,一种认为是要修改root的密码,一种认为是远程连接的权限被限制了,一种是通过写一个文件在Dos里面运行实现。这些方法是针对某些情况的。
我的这个问题,就是一个本地的mysql。java编程通过com.mysql.jdbc.diver连接数据库的简单问题。尝试了网上的方法都没有用,最后实在是弄不下去了,感觉数据库有问题,我用的是网上下载的绿色安装版,运行个脚本就好了,可能是mysql在我的系统里环境没有设置好,虽然通过mysql的工具能连上,但是编程就会出现问题。
今天上午我直接冲网上下了个5.5.20.把之前数据库删掉(彻底删除干净),直接安装mysql-5.5.20-win32.msi这个文件,然后默认密码我就直接没设。通过客户端
显示可以进入,那么ok.我直接通过jdbc语句测试。当然这里需要分步考虑。
1 jdbc驱动是否正确
2 才能看数据库连接是否正确
代码如下:
public static void main(String args[]) { String url = "jdbc:mysql://localhost/mysql"; String driver = "com.mysql.jdbc.Driver"; try{ Class.forName(driver); }catch(Exception e){ System.out.println("无法加载驱动"); } try { Connection con = DriverManager.getConnection(url,"root",""); if(!con.isClosed()) System.out.println("success"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }最终终于连接成功了,反正以后遇到问题,网上搜的要综合个人的问题,全面思考,不能一味的用别人的方法。快速学习,并解决问题使我需要的能力!太开心了!!!