【问题标题】:Rails database issue - ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)Rails 数据库问题 - ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
【发布时间】:2017-08-17 02:53:57
【问题描述】:

我查看了很多类似的解决方案,但无法解决我的问题,希望有人能提供帮助。

我加入了一个 Rails 项目,需要通过 dump.sh 文件提取数据以使我能够在本地工作。每当我运行所需的命令时,都会收到此错误:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

如果我尝试mysql -u root,我会看到完全相同的错误消息。

尝试mysql -u root -p 需要输入我的密码(它与database.yml 文件中的密码相同)这有点奇怪 - 根据我的错误消息,这一步肯定不应该工作吗?

我的 database.yml 文件看起来像这样用于开发:

development: adapter: mysql2 database: database_development host: localhost port: 3306 username: root password: "password_is_here" pool: 5 timeout: 5000

我觉得我在这里遗漏了一些非常基本的东西,但我一生都无法弄清楚它是什么:-/

编辑:忘了提,数据库存在并且已经迁移,所以rake db:createrake db:migrate 不是问题。

EDIT2:我的测试数据库有相同的信息

【问题讨论】:

  • 在堆栈溢出时尝试此答案ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 以在 linux 上正确配置 mysql
  • 不幸的是,我没有看到任何我还没有尝试过的东西(包括设置新密码、重新启动 SQL 服务器等)。我仍然继续收到“使用密码:否”消息。
  • 你的 dump.sh 脚本怎么样?如果您将dump.sh的代码与您的问题一起发布将有助于回答问题。您是否为其添加了mysql权限?。
  • 恐怕我不能(以合同方式)发布它 - 虽然我团队中的其他人已经运行它没有问题,但它确实有效。
  • 好的,你有两个解决方案。您可以使用 chmodchown 命令更改 dump.sh 的权限以在您的计算机上本地工作。或者您可以将这些更改添加到 database.yml 文件中,添加 default: &default adapter: mysql2 encoding: utf8 pool: 5 username: root password: host: localhost development: <<: *default database: database_development

标签: mysql ruby-on-rails database mysql2


【解决方案1】:

我之前看到过这个错误,那是因为database.yml包含一些在文本编辑器的正常模式下看不到的特殊字符。我建议尝试从头开始创建全新的 database.yml 文件,然后再次手动输入数据库信息,重新启动服务器以检查结果。

【讨论】:

  • 如您所说,一定与此有关。从头开始重新编写,现在可以完美运行,谢谢!
猜你喜欢
  • 2018-08-17
  • 1970-01-01
  • 2022-12-01
  • 1970-01-01
  • 2022-06-25
  • 1970-01-01
  • 2019-04-06
  • 1970-01-01
  • 2021-09-08
相关资源
最近更新 更多