java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)的一种解决方法

时间:2022-03-04 22:49:33

昨天晚上就为了连个数据库,搞到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这个文件,然后默认密码我就直接没设。通过客户端

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)的一种解决方法

显示可以进入,那么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();
		}
	}
}
最终终于连接成功了,反正以后遇到问题,网上搜的要综合个人的问题,全面思考,不能一味的用别人的方法。快速学习,并解决问题使我需要的能力!太开心了!!!
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)的一种解决方法