![](/img/trans.png)
[英]Rails and Mysql2 Access denied for user 'root'@'localhost' (using password: NO)
[英]Rails mysql Access denied for user 'root'@'localhost' (using password: NO) error
我知道有很多與這個問題相關的問題和答案,但對於我所嘗試的一切,它對我來說不起作用。 當我運行我的 rake 任務(例如bin/rake recognize:init
甚至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 版本ruby 2.7.2p137
Rails 版本Rails 6.0.3.7
我已經嘗試了一切。 我可以在終端中與我的 MySQL 通信並運行查詢,但是使用 MySQL 的這個應用程序出現錯誤。 我怎樣才能了解它?
也許您應該在數據庫中創建一個具有足夠權限的用戶,以便在您的應用程序中使用它,而不是使用 root。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.