2013-08-25 4 views
4

나는 Heroku에서 PHP 및 MySQL을 사용하는 여러 (무료) 응용 프로그램을 보유하고 있습니다. 그러나, 그들 중 하나에 나는 ClearDB (MySQL)에 문제가 끊임없이있다. 나는 다음과 같은 오류를 얻을Heroku에서 MySQL (ClearDB)가 작동하지 않습니다.

SQLSTATE [HY000] [2002] 소켓 '/var/run/mysqld/mysqld.sock'(2)

을 통해 지역의 MySQL 서버에 연결할 수 없습니다 내 로컬 컴퓨터에서 연결하려고하면 정상적으로 작동합니다. ClearDB addon을 제거하고 여러 번 다시 추가하려고 시도했지만 문제가 해결되지 않았습니다. 이것은 약 3 주 동안 계속되었습니다. 여기

내 코드입니다 :

public $production = array(
    'datasource' => 'Database/Mysql', 
    'persistent' => false, 
    'host' => 'us-cdbr-east-04.cleardb.com', 
    'login' => 'username', 
    'password' => 'password', 
    'database' => 'heroku_9565d18e1870f97', 
    'prefix' => '', 
    //'encoding' => 'utf8', 
); 

여기 Heroku가/ClearDB

mysql://username:[email protected]/heroku_9565d18e1870f97?reconnect=true 

지금 무엇을해야 하는지를 어떤 아이디어에서 내가 얻을 URL을입니까? 내 코드가 제대로 보이나요? Heorku의 지원을 요청할 수는 있지만, 내가 지금 Heroku에 비용을 지불하지 않기 때문에 지역 사회에 먼저 물어볼 것입니다.

+0

ClearDB와 MySQL workbench를 연결하는 데 같은 문제가 있습니다. –

+0

creds 권한을 사용하고 있다고 확신하는 경우 ClearDb addon을 제거하고 다시 추가하십시오. 결국 나를 위해 그것을 고쳤습니다. 아마 50 번이나 해봤고 결국 끝내 버렸습니다. –

답변

2

연결 문자열이 없거나 잘못되었을 수 있습니다.

ClearDB 애드온은 CLEARDB_DATABASE_URL이라는 환경 변수를 설정합니다. 연결하려고 할 때 사용해야하는 mysql 연결 문자열을 포함합니다.

+0

이것은 내가 사용하고있는 것이다. 내가 말했듯이, 내 로컬 환경에서 연결하려고 할 때. 그것은 잘 작동합니다. 그것은 단지 Heorku에서 작동하지 않습니다. –

+0

그 에러는 mysql이 TCP 대신 유닉스 소켓을 통해 연결을 시도하고 있음을 나타냅니다. 아마도 CLEARDB_DATABASE_URL의 값이 설정되었는지 확인하기 위해 디버깅 출력을 얻으려고 시도 할 수 있습니다. – ctcherry

+0

CLEARDB_DATABASE_URL 값이 설정됩니다. 내가 얻을 수있는 다른 디버깅 출력이 무엇인지 잘 모르겠다. –

관련 문제