2011-10-21 3 views
0

java를 사용하여 mysql에 연결할 때 이상한 문제가 발생했습니다.java를 사용하여 mysql에 연결하는 중 오류가 발생했습니다.

은 내가 바람둥이

내가 자바에서 MySQL의 연결 시도와 XAMPP를 실행 해요. 내 컴퓨터에 잘 작동하지만 친구 컴퓨터에 나는 오류가 발생한다 : 사용자 '바람둥이'에 대한 액세스가 거부되었다 @ 'localhost'

것은 - 나는 PHP와 똑같은 정보로 연결될 수 있었다.

연결을위한 자바 코드는 다음과 같습니다

String url = "jdbc:mysql://localhost:3306/"; 
    String dbName = "mta_db"; 
    String driver = "com.mysql.jdbc.Driver"; 
    String userName = "tomcat"; 
    String password = "tomcat"; 
    try { 
     Class.forName(driver).newInstance(); 
     _conn = DriverManager.getConnection(url + dbName, userName, password); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

포트가 원인이 될 수있는 것을

어떤 생각 괜찮지?

+1

MySQL에서 SHOW GRANTS가 말하는 것은 무엇입니까? –

+0

전제가 좋습니다. 나는 문제없이 PHP를 통해 연결할 수 있습니다. SHOW GRANTS는 GRANT ALL PRIVILEGES ON *. *로 2 행을 반환합니다. 'root'@ 'localhost'GRANT OPTION, GRANT PROXY를 "@"TO 'root'@ 'localhost'with GRANT OPTION. 나는 또한 사용자 루트를 시도 – galchen

답변

1

아마도 오류는 MySQL 측에서 발생합니다. 즉, tomcat 사용자는 localhost에서 연결할 권한이 없습니다. 그래서 같은 MySQL을 GRANT 문을 통해 처음 어디서나 접속할 수있는 계정을 만들 수 있습니다 단순함을 위해서

:

GRANT ALL ON mta_db.* to [email protected]'%' identified by 'yourpassword'; 

이 케이스 %에서 어떤 호스트에 대한 와일드 카드입니다.

연결 클라이언트의 실제 IP를 아는 경우 나중에 보안을 강화하여 보안을 더욱 중요하게 생각할 수 있습니다.

+0

가 작동하지 않습니다. 그것은 PHP btw에서 잘 연결하고, 나는 특권을 점검했다. – galchen

관련 문제