我在使用 heroku db:push 命令将 MySQL 数据库传输到 heroku 时遇到问题。我尝试对另一个带有 sqlite3 数据库的应用程序使用相同的命令,一切顺利。
C:\Users\reg\Team-Omni>heroku db:push
Loaded Taps v0.3.9 自动检测本地数据库:mysql://127.0.0.1/omni_dev?encoding=utf8 警告:“growing-mist-42”应用程序中的数据将被覆盖且无法恢复 . 您确定要继续吗? (是/否)? y
无法连接到数据库:
Sequel::DatabaseConnectionError -> Mysql::Error: 用户 'reg'@'localhost 的访问被拒绝 '(使用密码:否)
如果我删除 mysql 匿名帐户的密码,错误将更改为
Sequel::DatabaseConnectionError -> Mysql::Error: 用户 ''@'localhost' 对数据库 'omni_dev' 的访问被拒绝
--附加信息--
我的 .gems 文件:
rails -v 2.3.8
andre-geokit --version 1.5.0 --source http://gems.github.com
最佳答案
您收到该错误是因为您没有指定本地数据库连接的密码。显然,用户名配置为“reg”(可能在 MySQL 配置文件中)。这与 Heroku PostgreSQL 数据库没有任何关系,这是连接到本地 MySQL 数据库(名为 omni_dev)的问题。
尝试以下连接字符串:
mysql://USERNAME:PASSWORD@127.0.0.1/omni_dev?encoding=utf8
USERNAME 和 PASSWORD 的适当值。
关于mysql - Heroku db:push Sequel::DatabaseConnectionError -> Mysql::Error: 用户 'reg' @'localhost ' 访问被拒绝(使用密码:NO),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3489993/