원격으로 실행할 때 모든 권한 허용 액세스 거부 예외 발생
원격으로 다른 데이터베이스를 관리할 수 있는 JavaFX 애플리케이션을 작성합니다.sql 서버는 내 로컬 네트워크(IP:192.168.1.2) 내의 라즈베리 파이에 있으므로 각 작업의 결과를 테스트하기 위해 mypc@192.168.1.3의 모든 권한을 부여했습니다.지금은 사용자가 새로운 데이터베이스를 만들 수 있는 방법을 구현하고 있습니다.데이터베이스가 생성되고 있지만 새로 생성된 데이터베이스에 대한 권한을 다른 사용자에게 부여하고 싶습니다. pi@192.168.1.2.다음 예외가 발생합니다. "사용자 'mypc'@'192.168.1.3에 대해 데이터베이스 'create'에 대한 액세스가 거부되었습니다.DB test'
저는 많은 것을 검색했고 모든 게시물은 권한이 없을 때 그러한 예외가 적용된다고 결론을 내렸습니다.생성 시 모든 권한을 부여하려고 했지만 같은 오류가 발생합니다.아래는 함수의 일부분입니다. **연결이 다른 클래스이고 데이터베이스 이름이 이전 함수에서 알려졌기 때문에 게시하지는 않지만 두 가지 모두 100% 올바르게 구현되었으며 문제가 발견되지 않았습니다.
public void grantPrivilegesOnCreatedDatabase(){
setClientIp(getClientIpTextField().getText());
setClientUserName(getClientUsernameTextField().getText());
setClientPassword(getClientPasswordPasswordField().getText());
setClientPasswordVerification(
getClientPasswordPasswordField().getText());
String sql = "GRANT ALL PRIVILEGES ON "+getDatabaseName()+".*TO "+
getClientUsername() + "@"+getClientIp()+" IDENTIFIED BY '"+
getClientPassword()+"';"
try{
PreparedStatement statement = connection.prepareStatement(sql);
int result = statement.executeUpdate();
if(result > 0){
System.out.println("Privileges on "+ getDatabaseName() +
" granted to " + getClientUsername()+"@"+getClientIp() +
" identified by '"+getClientPassword()+"'");
}
connection.close();
}catch(SQLException exception){
exception.printStackTrace();
}
}
이 코드는 내 PC(192.168.1.3)에서 실행되며 내 라즈베리 파이(192.168.1.2)의 사용자에 대해 새로 생성된 데이터베이스에 대한 권한을 부여하도록 되어 있습니다.제가 여기서 뭔가 잘못하고 있나요?
언급URL : https://stackoverflow.com/questions/57341031/grant-all-privileges-throws-access-denied-exception-when-executing-it-remotely
'programing' 카테고리의 다른 글
사용자가 생성한 컨텐츠로 데이터베이스 배포 자동화(a CMS) (0) | 2023.11.02 |
---|---|
ODP.net 데이터 집합 채우기 시 Oracle Decimal Number 정밀도 문제.예외:산술 연산으로 오버플로가 발생했습니다. (0) | 2023.11.02 |
워드프레스 3.4와 함께 페이지 템플릿이 사라졌습니다. (0) | 2023.10.28 |
jQuery choosed plugin으로 양식을 재설정하려면 어떻게 해야 합니까? (0) | 2023.10.28 |
angularjs에서 배열 크기를 찾는 방법 (0) | 2023.10.28 |