mysql - Rails mysql Access denied for user 'root'@'localhost' (using password: NO) 错误
问题描述
我知道有很多与这个问题相关的问题和答案,但对于我所尝试的一切,它对我来说不起作用。当我运行诸如bin/rake recognize:init
or之类的 rake 任务rake db:prepare
时rake db:create
,我收到以下错误消息:
错误日志
mac@MacBook-Pro-2 recognize-develop % bin/rake recognize:init
Please require the stackprof gem falling back to fast_stack
Access denied for user 'root'@'localhost' (using password: NO)
Couldn't drop database 'database_name'
rake aborted!
Mysql2::Error::ConnectionError: Access denied for user 'root'@'localhost' (using password: NO)
/Users/mac/Downloads/recognize-develop/lib/tasks/recognize.rake:233:in `block (2 levels) in <top (required)>'
Tasks: TOP => db:drop:_unsafe
(See full trace by running task with --trace)
/Users/mac/Downloads/recognize-develop/lib/tasks/recognize.rake:233
desc "Initialize Recognize. To be run from fresh install."
task :init => :environment do
prevent_production!
ENV['DISABLE_DATABASE_ENVIRONMENT_CHECK'] = "1"
Rake::Task['tmp:clear'].invoke
Rake::Task['db:drop'].invoke # This is LINE 233. It doesn;t go beyond this.
Rake::Task['db:create'].invoke
Rake::Task['db:migrate'].invoke
load "#{Rails.root.to_s}/db/schema.rb" # dont load schema b/c there is some issue with mysql index lengths when done this way
Rails.application.load_seed
end
数据库.yml文件
defaults: &defaults
adapter: mysql2
username: <%= ENV['DATABASE_MYSQL_USERNAME'] || 'root' %>
password: <%= ENV['DATABASE_MYSQL_PASSWORD'] || '' %>
encoding: utf8mb4
collation: utf8mb4_unicode_ci
port: 3306
host: <%= ENV['DATABASE_MYSQL_HOST'] || '127.0.0.1' %>
variables:
sql_mode: TRADITIONAL
development:
<<: *defaults
database: <%= ENV['DATABASE_MYSQL_DATABASE'] || 'database_name' %>
红宝石版本
ruby 2.7.2p137
导轨版本
Rails 6.0.3.7
我已经尝试了一切。我可以在终端中与我的 MySQL 通信并运行查询,但我在使用 MySQL 的这个应用程序时遇到错误。我该怎么办?
解决方案
也许您应该在数据库中创建一个具有足够权限的用户,以便在您的应用程序中使用它,而不是使用 root。
推荐阅读
- python - 如何在 3d 中获得边界(一组点)的平均曲线(一组点)?
- css - 总是在最后一个位置订购弹性项目
- spring - 为什么spring会覆盖标头中的Content-Type?
- python - 如何只替换之后有一些字符的 \n
- sql - 使用 PIVOT 将行转换为列
- javascript - 如何在单独的页面中呈现反应组件?
- c++17 - C ++如何将lambda与可变参数和引用绑定
- sap - SAP HANA:- 使用计算视图(在表顶部)而不是在过程中引用直接表以获得更好的性能
- java - 如何让此用户提示接受我想要的输入类型?
- c - 如何使用 memcpy 将一个数组复制到另一个数组?