반응형
이 코드가 주어지면 :
package db;
import java.sql.*;
public class Main
{
public static void main (String[] args) throws ClassNotFoundException, SQLException
{
Class.forName("com.mysql.jdbc.Driver");
String string = "jdbc:mysql://localhost:3306/testdb";
Connection con = DriverManager.getConnection(string , "root" , "root");
PreparedStatement statement = con.prepareStatement("select * from name");
ResultSet result = statement.executeQuery();
while (result.next())
{
System.out.println(result.getString(1) + " " + result.getString(2));
}
}
}
mysql 서버에 연결하려고하는데 이걸 얻습니다.
Exception in thread "main" java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1244)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2397)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2430)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2215)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:813)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:334)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at db.Main.main(Main.java:14)
14
행은 다음과 같습니다. Connection con = DriverManager.getConnection (string, "root", "root");
MySql
을 설치할 때 암호 root
를 입력했음을 확신합니다. 확인하기 위해,
여기에 입력했습니다 : ,
다음과 같이 비밀번호를 root
로 변경했습니다. ,하지만 여전히 올바른 출력을 얻을 수 없습니다.
그게 뭐가 잘못된 건지 아세요?
감사
참고 : 명확하게하기 위해 다음을 사용하고 있습니다.
웹 개발자를위한 Eclipse Java EE IDE.
톰캣 7
Xampp
해결 방법
스레드 "main"java.sql.SQLException의 예외 : 다음에 대한 액세스가 거부되었습니다. 사용자 'root'@ 'localhost'(비밀번호 사용 : YES)
사용자에게 localhost에 액세스 할 권한이 없을 때이 오류가 발생합니다.
localhost에서 루트에 대한 액세스 권한을 부여해야합니다.
당신이 그것을 추가했듯이. 문제가 mySQL
설정이있는 password = 'NO'
행에 있는지 의심됩니다.
참조 페이지 https://stackoverflow.com/questions/11519070
반응형
'MySql' 카테고리의 다른 글
MySQL SQL은 열의 여러 값을 하나의 셀로 결합 (0) | 2021.02.04 |
---|---|
MySQL MySqlParameterCollection.AddRange를 사용하는 방법 (0) | 2021.02.04 |
MySQL 정의되지 않은 변수 : POST-PHP 및 MySQL (0) | 2021.02.04 |
MySQL DateTime 열을 시간이 아닌 날짜 만과 비교하는 방법 (0) | 2021.02.03 |
MySQL 세션-쿼리를 종료하여 테이블 잠금 해제 (0) | 2021.02.03 |
댓글