1

我在 heroku 上运行 rails 3.2.13 应用程序。我希望我的应用程序能够访问远程 MySQL 数据库。为此,我更改了 heroku 配置中的 DATABASE_URL。这是我的做法

heroku config:add DATABASE_URL=mysql2://user_name:password@171.121.123.120:3306/database_name

上面的命令成功更改了 database_url。

但是当我尝试运行heroku run rake db:migrate它时会出错。以下是我得到的错误

Connecting to database specified by DATABASE_URL
rake aborted!
Access denied for user 'user_name'@'ec2-23-20-128-131.compute-1.amazonaws.com'    (using password: YES)
/app/vendor/bundle/ruby/2.0.0/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect'

我在我的 MySQL 服务器上添加了 %.%.%.% 之类的通配符,以允许任何 IP 访问数据库,但即使这样也不起作用。添加这些通配符后,我可以从本地开发机器访问数据库。

谢谢

4

1 回答 1

0

您是否在 /app/vendor/bundle/ruby/2.0.0/gems/mysql2-0.3.11/lib/mysql2/client.rb 中定义了您的凭据?看起来 migrate 命令正在尝试从该文件中提取信息。

编辑:对不起,你在我的屏幕上截断的代码块。client.rb 文件中的所有内容是否正确?

于 2013-07-29T18:42:27.793 回答