2010-06-08 9 views
2

공유 서버에서 mysql db에 연결하려고합니다. Java 응용 프로그램을 사용하여 연결을 만들고 있습니다. localhost db에 연결할 때 문제가 발생하지 않습니다.원격 mysql 데이터베이스에 연결하는 중 문제가 발생했습니다.

URL = "jdbc:mysql://SHARED HOST IP:3306/DBNAME"; 
USER = "dbUSER"; 
PASS = "dbPASS"; 

Connection conn = DriverManager.getConnection(URL, USER, PASS); 

java.sql.SQLException: Access denied for user 'DBUSER'@'mycomputersIP???' (using password: YES) 

dbuser에의 @의 mycomputersip 대신 dbuser에의 @의 sharedhostIP

거부 ​​말한다 이상한 일을 망쳐 내 무선 라우터의 설정이 있습니까?

+0

확실히 라우터가 아닙니다. ;) –

답변

0

라우터 설정이 엉망입니다. mycomputersIP (즉, 컴퓨터에 JDBC 연결을 여는 프로그램)에서 연결하려는 경우 데이터베이스는 'DBUSER'@'mycomputersIP'에 대한 권한을 부여해야합니다. (사실, 그 보조금 문자열의 해당 부분의 포인트입니다.) 데이터베이스가 원격 액세스를 위해 구성되지 않은

2

. 기본적으로 웹 서버에있는 사용자가 아니라 사용자의 IP에있는 사용자가 데이터베이스에 액세스 할 수있는 권한이 없다는 내용입니다.

공유 호스팅 패키지를 사용하는 경우 관리 영역에서이 기능을 켜야하거나 호스트에서 지원하지 않을 수 있습니다. 일부 호스트는 또한 외부에서 액세스 할 수있는 데이터베이스가 웹 서버에 없으므로 연결 문자열이 변경 될 가능성이 높습니다.

+0

좋아, 지금 무엇을하는지 이해합니다. 내가 cpanel에 가서 액세스 호스트로 내 IP를 추가했지만 여전히 같은 오류가 있습니다. – Bthunder

+0

가능한 한 많은 변수를 제거하여 방정식을 단순화하십시오. 아마도 http://dev.mysql.com/downloads/workbench/#downloads에서 mysql 워크 벤치를 다운로드하고 그런 식으로 연결하십시오. 그래도 오류가 발생하면 설치 문제가 계속 발생한다고 생각합니다. 확인하기 위해 내부 IP가 아닌 외부 * IP를 입력하십시오. –

+0

jdbc : mysql : // server ip : 3306/dbname 서버 ip는 mysql db 서버의 IP입니다. 원격 MySQL 설정에 대해 나는 외부와 192.168.1을 가지고있다. % – Bthunder

-1

내가 전에 가지고 같은 문제, 그것의 아주 간단한이 액세스는

는 작동, 액세스 권한을 부여 요청을 올리고 DB에 액세스하려면 ISP에 의해 거부되었습니다.

+0

나는 그렇게 생각하지 않는다. 연결이 작동하도록 서버에서 액세스 거부 메시지가 수신된다. 승인 문제 인 것 같습니다. –

+0

나는 똑같은 문제가있어 그것이 나를 위해 일했다. – gmhk

0

VeeArr과 마찬가지로 'DBUSER'@ 'mycomputersIP ???' 표준입니다. 어떤 이유로 호스트가 데이터베이스를 노출하지만 연결을 허용하지 않습니다. 전체 데이터베이스를 관리하거나 제어판에 옵션이있는 경우 권한 아래에서 phpMyAdmin을 사용하는 방법이 있습니다. 그렇지 않다면, 당신은 당신의 호스트에게 연락을해야합니다.

관련 문제