Java 连接 MYSQL 出现 Access Deny 解决

原创
2017/04/12 13:24
阅读数 946

java.sql.SQLException: Access denied for user 'songlei'@'localhost' (using password: YES){...}

上面的异常虽然是个小问题 但是如果出现了 在很多人学习初期 会失去耐心 而且这是最新版MYSQL肯定会出现的问题 因此在此简单解决一下。

首先众所周知,刚安装完mysql, 默认用户是root, 那我们在里面新建了一个数据库songlei 密码是mysql. 然后use songlei; 这些都没问题,所有都没问题,但是JDBC就是连不上.

解决方式

第一步 安装Navicat, 然后正常连接到mysql, 在Users这个标签下面 它列出了所有探知的用户(哈哈很奇怪有两个用户有songlei关键字:一个是root用户songlei的host,一个是songlei用户localhost,其实我们压根没建songlei用户也没建songlei的host,估计是create database songlei时mysql默认建的,never mind):

第二部 双击修改有songlei 关键字的两个用户的密码 成你想要的密码 这里密码可以和以前一样比如mysql,只是刷新了一遍。

第三部,好了,现在连接jdbc就可以了 其实我们压根没改什么东西 只是刷了一遍密码。

public static void main(String[] args) {
		try {
			
			 Class.forName("com.mysql.jdbc.Driver").newInstance();
			 String url = "jdbc:mysql://localhost:3306/songlei";
			 Connection con = DriverManager.getConnection(url, "songlei", "mysql");
				
			 Statement statement = con.createStatement();
			 ResultSet rs = statement.executeQuery("select * from account");
			 while(rs.next()) {
				 String country = rs.getString("country");
			     System.out.println(country);			           
			 }
				 rs.close();
				 con.close();
		} catch (Exception e) {
			e.printStackTrace();
		} 	

链接成功 成功输出。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部