MySQL (ClearDB) 不适用于 Heroku

标签 mysql heroku cleardb

我在 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 连接字符串。

关于MySQL (ClearDB) 不适用于 Heroku,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18424693/

相关文章:

php - 自动按计划打印 pdf

mysql - 缓慢的 MySQL 查询 (Wordpress)

ruby-on-rails - 缺少必需的标志 heroku tail

php - Mysql:违反完整性约束

tomcat - IBM BlueMix : TomCat ROOT. 数据库连接的xml调整

php - 在 PHP 中将 session 存储在数据库中 - 不断收到 mysql 错误

mysql - 使用分组依据显示多个表中的相同字段

sqlite - 将sqlite3 db推送到heroku时出现问题:lib/taps/schema.rb:30:在sqlite_config中:未定义的方法[[]]为nil:NilClass(NoMethodError)

.net - "no usable version of libssl was found".NET 5 在 Heroku-22 堆栈上

mysql - 无法将 MySQL 数据库添加到 ClearDB,找不到 -u 命令