LoginSignup
6
9

More than 5 years have passed since last update.

rake db:migrate => Access denied for user 'root'@'localhost' (using password: NO)

Last updated at Posted at 2016-09-20

環境はMac OSXです。

Railsアプリをローカルで立ち上げる

新しく作ったRailsアプリケーションや、Githubからclonepullして取ってきたRailsアプリケーションを、ローカル環境で動かしたい場合、

  1. bundle install
  2. rake db:create(migrate)

とする必要があると思います。

Access deniedエラー

2.において、

$ rake db:migrate
rake aborted!
Mysql2::Error: Access denied for user 'root'@'localhost' (using password: NO)

というエラーに遭遇しがち。
なんで?

解決策

confing/database.ymldefaultusernamepasswordを設定する必要がありました。
その後rake db:migrateをすると無事動きました。

developmentusernamepasswordの設定を変えてもダメで、はコメントアウトしておきました。

こんな感じで、

default: &default
  adapter: mysql2
  encoding: utf8
  reconnect: false
  pool: 5
  timeout: 5000
  username: root  # とりあえずrootに設定
  password: ******  # ローカルで使うmysqlのパスワード
  socket: /tmp/mysql.sock
  host: localhost

development:
  <<: *default
  database: my_app_development
  # コメントアウトしておく
  # username:
  # password:

あとでもうちょっと詳しく調べてみます。

参考
railsのapp作成でmysqlを使用する時の導入とハマるところ rake db:createができるまでの流れ  

6
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
9