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();
}
链接成功 成功输出。