2011-05-08 6 views
1

MySQL 사용자 계정에 권한을 부여하는 방법에 관한 질문이 있습니다. MySQL 사용자 계정이 있고 예제 코드에서 전체 데이터베이스에 권한을 부여하고 싶습니다. 나는이 코드를 실행하면, 나는 다음과 같은 오류 얻을 :MySQL 권한 부여 오류 권한

액세스 데이터베이스에 사용자 user'@'10.% '거부'를 TESTDB '여기

내 소스 코드 :

<?php 

    $connection = mysql_connect("sql.example.com", "user", "password"); 

    mysql_select_db("test"); 

    $query = mysql_query("GRANT ALL PRIVILEGES ON test.* To 'user'@'localhost' 
         IDENTIFIED BY 'password'"); 

if (!$query) { 
    die(mysql_error()); 
} 

echo "Success!"; 

?> 

왜 그 오류가 발생합니까? 누군가가 내 도움이 될 수 있을까? 나는 정말로 그것을 바르게 평가할 것이다!

답변

0

원래 쿼리와 같은 PHP에서 문제가있는 것 같습니다. - grant 문 다음에 "flush privileges"를 실행해야합니다. 그렇지 않으면 user 테이블이 업데이트되지 않습니다.

"sql.example.com", "user", "password" 

가 암호로 사용자 생성 먼저 시도하고 그 후 mysql을 연결 : 해당 자격 증명을 사용하여 MySQL 서버에 액세스 할 수없는 것처럼

http://dev.mysql.com/doc/refman/5.5/en/adding-users.html

0

보인다.

shell> mysql --user=root mysql

즉 당신이 연결하려면 사용자가 생성 한 후 :

, 당신은 루트 사용자와 MySQL 서버에 그런 식으로 입력

shell> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';

을 그리고 그에게 권한을 부여하십시오 :

shell> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' WITH GRANT OPTION;

연결 호스트를 설정하는 것을 잊지 마십시오. 예를 들어 localhost이지만, 다른 경우 일 수 있습니다.