LoginSignup
3
3

More than 3 years have passed since last update.

[Rails] MySQLでAccsess Deniedを吐かれたとき

Posted at

tl;dr

$ mysql -u root -p

でMySQLに入り

mysql> create user 'hoge'@'localhost' identified by 'パスワード'

でユーザーを作成し

mysql> GRANT ALL ON hugahuga_development.* TO 'hoge'@'localhost';

で作成したユーザーにDBを触る権限を与える。

状態

Mysql2::Error::ConnectionError: Access denied for user 'hoge'@'localhost' (using password: NO)

DBをMySQL設定したときにありがちなエラーだが、該当する'hoge@localhost'というユーザーを設定した覚えもなく、パスワードに心当たりもない。

対策

その際の解決策として、

$ mysql -u root -p

でMySQLにroot権限で入り、'hoge@localhost'というユーザーを作成し直すという方法を試みた。

mysql> create user 'hoge'@'localhost' identified by 'パスワード'

 
変更した後にDBをdb:create等でDBを触ってみると、

Mysql2::Error::ConnectionError (Access denied for user 'hoge'@'localhost' to database 'hugahuga_development'):

次はユーザーではなくデータベースへのアクセスを拒否された。

hoge@localhostに該当のデータベースを触る権限がないようなので、先ほどと同じようにMySQLにroot権限で入って

$ mysql -u root -p

下記コマンドで権限を与える

mysql> GRANT ALL ON hugahuga_development.* TO 'hoge'@'localhost';

これで無事DBを触るコマンドを叩くことが出来た。

3
3
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
3
3