我在Heroku上有多个(免费)应用程序,所有这些应用程序都使用
PHP和MySQL.然而,在其中一个上我经常遇到ClearDB(MySQL)的问题.我收到以下错误
SQLSTATE[HY000] [2002] Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (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的费用.
最佳答案 看起来您的连接字符串可能丢失或错误.
ClearDB插件设置一个名为CLEARDB_DATABASE_URL的环境变量.它包含您尝试连接时需要使用的mysql连接字符串.