2013-03-28 2 views
0

내 Hostmonster이 서버를 공유하고 (모든 권한을 가진) 새 데이터베이스와 사용자를 생성에 나는 최근 CakePHP를 설치하고 난 다음 무엇입니까 :CakePHP 데이터베이스 오류입니다. 액세스가 거부

Cake is NOT able to connect to the database. 

Database connection "Mysql" is missing, or could not be created. 
SQLSTATE[42000] [1044] Access denied for user '[user]'@'[host]' to database '[db]' 
  • 괄호 항목은 보안을 위해 포함되어 있지 않습니다.

나는 PDO 및 PDO mysql이 활성화되었음을 확인했습니다. 자격 증명을 확인하고 여러 번 다시 확인했습니다. 누락 된 다른 비밀 설정이 있습니까? 아니면 데이터베이스 사용자의 제어를 제한하는 호스트입니까?

내 database.php 설정 :

$hostname = "host"; 
$db = "db"; 
$username = "user"; 
$password = "pas"; 

try { 
    $db = new PDO("mysql:host=$hostname;dbname=$db", $username, $password); 
    echo "Connected to database"; 
} 
catch(PDOException $e) { 
    echo $e->getMessage(); 
} 
+0

db 연결을 구성 했습니까? http://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Configuration.html –

+0

아, 죄송합니다. 게시물을 업데이트했습니다. 고맙습니다! –

답변

0

SQLSTATE [:

public $default = array(
    'datasource' => 'Database/Mysql', 
    'persistent' => false, 
    'host' => 'host', 
    'login' => 'user', 
    'password' => 'pass', 
    'database' => 'db', 
    'prefix' => '', 
    //'encoding' => 'utf8', 
); 

public $test = array(
    'datasource' => 'Database/Mysql', 
    'persistent' => false, 
    'host' => 'host', 
    'login' => 'user', 
    'password' => 'pass', 
    'database' => 'db', 
    'prefix' => '', 
    //'encoding' => 'utf8', 
); 

는 또한, 내가 성공적으로 다음 코드를 통해 똑같은 자격 증명을 사용하여 PDO를 통해 데이터베이스에 연결할 수 있었다 42000] [1044] 사용자 '[사용자]'@ '[호스트]'데이터베이스 '[db]'에 대한 액세스가 거부되었습니다.

해당 케이크는 DB 정보를 알고 있지만 작동하지 않습니다. 체인에서 케이크를 제거하고 index.php에서 직접 연결을 시도하십시오.

그런 다음 콘솔에서 연결을 시도하십시오.

대부분 잘못된 DB 정보를 설정했거나 DB 측에 충분한 권한이 없습니다.

+0

나는 위의 코드를 통해 내 호기심을 발휘했다. 콘솔에서 아직 시도하지는 않았지만. –

+0

그럼 그냥 해봐. :) – gaRex

관련 문제