用户'root'@'localhost'的Mysql2 :: Error Access被拒绝(使用密码:YES)

时间:2015-11-04 14:04:55

标签: mysql ruby-on-rails ruby database database-connection

我想运行rake db:migrate,但迁移已中止,我看到了这个错误:

rake aborted!
Mysql2::Error: Access denied for user 'root'@'localhost' (using password: YES)
/home/marketa/.rvm/gems/ruby-2.2.1/gems/mysql2-0.3.20/lib/mysql2/client.rb:70:in `connect'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/mysql2-0.3.20/lib/mysql2/client.rb:70:in `initialize'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_adapters/mysql2_adapter.rb:18:in `new'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_adapters/mysql2_adapter.rb:18:in `mysql2_connection'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:438:in `new_connection'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:448:in `checkout_new_connection'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:422:in `acquire_connection'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:349:in `block in checkout'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:348:in `checkout'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:263:in `block in connection'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:262:in `connection'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:571:in `retrieve_connection'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_handling.rb:113:in `retrieve_connection'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/connection_handling.rb:87:in `connection'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/migration.rb:913:in `initialize'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/migration.rb:820:in `new'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/migration.rb:820:in `up'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/migration.rb:798:in `migrate'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/tasks/database_tasks.rb:137:in `migrate'
/home/marketa/.rvm/gems/ruby-2.2.1/gems/activerecord-4.2.4/lib/active_record/railties/databases.rake:44:in `block (2 levels) in <top (required)>'
/home/marketa/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval'
/home/marketa/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

如果我运行服务器,我将看到此错误页面:

Mysql2::Error
Access denied for user 'root'@'localhost' (using password: YES)
Extracted source (around line #70):       


     socket = socket.to_s unless socket.nil?

      connect user, pass, host, port, database, socket, flags #70line is this
    end

    def self.default_query_options

我的database.yml文件如下所示:

default: &default
  adapter: mysql2
  pool: 5
  timeout: 5000
  host: localhost
  username: root
  password: hazzy93

development:
  <<: *default
  database: db/dev.mysql2

test:
  <<: *default
  database: db/test.mysql2

production:
  <<: *default
  database: db/production.mysql2

2 个答案:

答案 0 :(得分:0)

您需要更正您的database.yml 它应该是这样的:

default: &default
  adapter: mysql2
  host: 127.0.0.1
  port: 3306
  username: root
  password: hazzy93

development:
  <<: *default
  database: development

test:
  <<: *default
  database: test

production:
  <<: *default
  database: production

您使用了sqlite3的语法

答案 1 :(得分:0)

试试这个

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: development
  pool: 5
  username: root
  password: hazzy93
  host: localhost


test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: test
  pool: 5
  username: root
  password: hazzy93
  host: localhost

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: production
  pool: 5
  username: root
  password: hazzy93
  host: localhost
相关问题