2014-04-25 1 views
0

도메인에서 database.com의 데이터베이스에 대한 사용자 권한을 부여하려고했지만 실패했습니다. 도메인의 IP 만 작동합니다. 예를 들어MySQL 지정한 도메인에서 사용자에게 부여

(example.com는 IP 1.1.1.1을 갖는 경우) :

GRANT super ON *.* TO 'user'@'1.1.1.1' IDENTIFIED BY 'password'; 

상기 미세 작동한다. 원격으로 데이터베이스에 액세스 할 수 있습니다.

GRANT super ON *.* TO 'user'@'example.com' IDENTIFIED BY 'password'; 

이것은 실패했습니다! 내가 database.com에 example.com에서 연결하는 PHP 스크립트를 사용하려고하면

, 그것은 말한다 :

mysql_connect('database.com', 'user', 'password'); 

경고 :로 mysql_connect() [function.mysql-연결] : 액세스가 거부 사용자 user'@'1.1.1.1 '(암호 사용 : YES)

이유는 도메인 사용자 기반에 대한 권한을주는 어떤 생각을'user'@'example.com '작동하지 않는 이유는 무엇입니까?

+0

' 'user'@'example.com'도메인의 사용자에게 권한을 부여하는 것이 왜 효과가 없습니까? '아니오, 실패한 내용을 지정하지 않았기 때문입니다. 오류 메시지가 무엇입니까? 데이터베이스 서버가 실제로 호스트 이름을 확인할 수 있습니까 (DNS 또는 호스트 파일 별)? 그리고 btw, 당신은 '슈퍼'를 부여 하시겠습니까? 당신은 무언가 좋은 권리를 무작위로 부여하기 전에 여러 가지 권한에 대해 읽으면서 실제로 무엇을하는지 모를 수도 있습니다. (미안, 이것이 잘못된 가정이라면) – fancyPants

답변

1

귀하의 서버 관리자가 호스트 이름으로 제한되어 있으므로 "skip-name-resolve"가 업데이트되면 서버 구성 파일 (my.cnf)을 체크인 할 수 있습니다.

이름 대신 응용 프로그램에서 IP 기반으로 전화해야하지만 여전히 원하는 경우 구성 파일에서 "skip-name-resolve"에 주석을 달아야합니다.