質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

1回答

1410閲覧

[MYSQL]エラー:ActiveRecord::ConnectionNotEstablishe Access denied for userを解消したい

shachihoko

総合スコア1

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2021/08/14 15:00

Ruby on Railsでアプリ開発を行なっています。
データベースを使いたいのですが、以下のようなエラーメッセージが発生しました。
'reserve_system_development'にアクセスできませんとありますが、アクセスしたいデータベースはreserveというデータベースです。
解決策をご教授願います。

発生している問題・エラーメッセージ

エラーメッセージ
ActiveRecord::ConnectionNotEstablished - Access denied for user 'shachihoko'@'localhost' to database 'reserve_system_development':

該当のソースコード

#database.yml default: &default adapter: mysql2 database: reserve encoding: utf8mb4 pool: 5 username: shachihoko password: "5137sha" host: localhost socket: /tmp/mysql.sock development: <<: *default #database: reserve_system_development test: <<: *default #database: reserve_system_test production: <<: *default #database: reserve_system_production #username: reserve_system #password: <%= ENV['RESERVE_SYSTEM_DATABASE_PASSWORD'] %>

Gemfile

# Ensure the MySQL gem is defined in your Gemfile # gem 'mysql2'

試したこと

これと似たような質問されている方がいらっしゃったので、その方のソースコードを見るとdevelopment~productionの'database:'が無かったので、それらをコメントアウトしました。

・mysqlにログイン

mysql -u shachihoko -p 5137sha

→できました

・DBは存在しているか

mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | reserve | +--------------------+

→あります

・userは存在しているか、また権限はあるか

mysql> show grants for shachihoko@localhost; +-----------------------------------------------------------------+ | Grants for shachihoko@localhost | +-----------------------------------------------------------------+ | GRANT USAGE ON *.* TO `shachihoko`@`localhost` | | GRANT ALL PRIVILEGES ON `reserve`.* TO `shachihoko`@`localhost` | +-----------------------------------------------------------------+

→存在しています。権限もあります。

mysql> show tables from reserve; +-------------------+ | Tables_in_reserve | +-------------------+ | reservations | +-------------------+

→テーブルもあります。

mysql> USE reserve;

→データベースも選択しています。

環境

MacOS Big Sur 11.4
MySQL Ver 8.0.23
Ruby on Rails Ver 6.1.3.2
Ruby Ver 2.7.2p137

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

developmentでreserve DBを使いたいならコメントアウトせずに指定すべきなのではないでしょうか。

yaml

1#database.yml 2default: &default 3 adapter: mysql2 4 database: reserve 5 encoding: utf8mb4 6 pool: 5 7 username: shachihoko 8 password: "5137sha" 9 host: localhost 10 socket: /tmp/mysql.sock 11 12development: 13 <<: *default 14 database: reserve

投稿2021/08/14 17:02

youtubeuta

総合スコア150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shachihoko

2021/08/15 03:33

ご回答ありがとうございます。解決できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問