我在Heroku上有多个(免费)应用程序,所有这些应用程序都使用PHP和MySQL。然而,在其中一个上我经常遇到ClearDB(MySQL)的问题。我收到以下错误
SQLSTATE [HY000] [2002]无法通过socket'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2)
当我尝试从本地计算机连接到它时,它工作正常。我已经尝试删除ClearDB插件并多次添加它,但这还没有解决问题。这已经持续了大约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获得的URL
mysql://username:password@us-cdbr-east-04.cleardb.com/heroku_9565d18e1870f97?reconnect=true
任何想法现在该做什么?我的代码看起来不错吗?我可能会问Heorku的支持,但我宁愿首先询问社区,因为我现在不支付Heroku的费用。
答案 0 :(得分:2)
看起来您的连接字符串可能丢失或错误。
ClearDB插件设置一个名为CLEARDB_DATABASE_URL的环境变量。它包含您尝试连接时需要使用的mysql连接字符串。