4

我在 Heroku 上有多个(免费)应用程序,它们都使用 PHP 和 MySQL。但是,在其中之一上,我经常遇到 ClearDB (MySQL) 的问题。我收到以下错误

SQLSTATE[HY000] [2002] 无法通过套接字 '/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 付费。

4

2 回答 2

2

看起来您的连接字符串可能丢失或错误。

ClearDB 插件设置了一个名为 CLEARDB_DATABASE_URL 的环境变量。它包含您尝试连接时需要使用的 mysql 连接字符串。

于 2013-08-25T01:15:00.083 回答
0

从 ClearDB heroku 插件切换到 JawsDB MySQL heroku 插件解决了我的问题。

于 2022-01-31T17:56:26.870 回答