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

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

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

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

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

データベース

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

Q&A

2回答

1431閲覧

rails db:createでmysqlデータベースをを作成しようとした際にActiveRecordエラーが起ってしまった。

suirunakamura

総合スコア16

MySQL

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

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

データベース

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

0グッド

1クリップ

投稿2020/05/31 10:58

sqliteからmysqlへ変更し、その後rails :db:createコマンドを実行しデータベースの作成を試みたところ次のようなエラーが出てしまいました。

rails db:create /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:90: warning: already initialized constant FileUtils::VERSION /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:105: warning: previous definition of VERSION was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1188: warning: already initialized constant FileUtils::Entry_::S_IF_DOOR /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1284: warning: previous definition of S_IF_DOOR was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1446: warning: already initialized constant FileUtils::Entry_::DIRECTORY_TERM /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1568: warning: previous definition of DIRECTORY_TERM was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1501: warning: already initialized constant FileUtils::OPT_TABLE /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1626: warning: previous definition of OPT_TABLE was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1555: warning: already initialized constant FileUtils::LOW_METHODS /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1685: warning: previous definition of LOW_METHODS was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1562: warning: already initialized constant FileUtils::METHODS /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1692: warning: previous definition of METHODS was here rails aborted! ActiveRecord::DatabaseConfigurations::InvalidConfigurationError: '{ default => }' is not a valid configuration. Expected '' to be a URL string or a Hash. /Users/apple/create/portfolio/Rakefile:6:in `<top (required)>' /Users/apple/create/portfolio/bin/rails:9:in `<top (required)>' /Users/apple/create/portfolio/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: Bootsnap::LoadPathCache::FallbackScan: (See full trace by running task with --trace)

また、sqliteからmysqlへ変更した際にdatabase.ymlも変更したのでそちらも載せておきます。

database.yml

1 default: &default 2 adapter: mysql2 3 encoding: utf8 4 pool: 5 5 username: root 6 password: password #<- mysqlインストール時に設定したパスワード 例: 1 7 socket: /var/lib/mysql/mysql.sock 8 9development: 10 <<: *default 11 database: アプリ名_development #アプリ名_development 12 13test: 14 <<: *default 15 database: アプリ名_test #アプリ名_test 16 17production: 18 <<: *default 19 database: アプリ名_production #アプリ名_production 20 username: アプリ名 #アプリ名 21 password: <%= ENV['TESTMYSQL_DATABASE_PASSWORD'] %> 22

 database.ymlファイルのアプリ名とパスワードの部分はまだ環境変数化できていないので、伏せています。
また、mysqlのバージョンは下記に参照

mysql Ver 14.14 Distrib 5.6.47, for osx10.15 (x86_64) using EditLine wrapper

rubyとrailsのバージョンも載せておきます!

ruby --version ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin15] rails --version /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:90: warning: already initialized constant FileUtils::VERSION /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:105: warning: previous definition of VERSION was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1188: warning: already initialized constant FileUtils::Entry_::S_IF_DOOR /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1284: warning: previous definition of S_IF_DOOR was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1446: warning: already initialized constant FileUtils::Entry_::DIRECTORY_TERM /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1568: warning: previous definition of DIRECTORY_TERM was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1501: warning: already initialized constant FileUtils::OPT_TABLE /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1626: warning: previous definition of OPT_TABLE was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1555: warning: already initialized constant FileUtils::LOW_METHODS /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1685: warning: previous definition of LOW_METHODS was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1562: warning: already initialized constant FileUtils::METHODS /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1692: warning: previous definition of METHODS was here Rails 6.0.3

質問の確認と返信どうかよろしくお願いします!

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

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

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

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

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

guest

回答2

0

errno: 13 だと言われています。これはたしか ファイルシステムへのアクセス権がない場合のエラーです。若しくはファイルが見つからないか。
でもどの??

mysqlにてちょくにDB操作するのは成功しますか?

追記
あと、
エラーメッセージに spring の名前がでています。これが悪さすることがあるので、動いているspringを停止してみてください

投稿2020/06/01 20:51

編集2020/06/03 08:56
winterboum

総合スコア23329

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

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

suirunakamura

2020/06/03 08:53

返信ありがとうございます!mysqlへ直接というのは、コンソール上でmysqlにログインしDB操作を行うことですか?
winterboum

2020/06/03 08:54

はい。 そこでdatabaseを作ってみるとどうなるか。
suirunakamura

2020/06/03 09:02

わかりました。やってみます!
suirunakamura

2020/06/03 09:07 編集

mysql内でデータベース作成を試した結果、create databases blog; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'databases blog' at line 1 上記のようなエラー文が表示されました。原因は主になんでしょうか?
winterboum

2020/06/03 09:55

databases 複数形になってます
suirunakamura

2020/06/03 10:05 編集

返信ありがとうございます! create database blog; ERROR 1006 (HY000): Can't create database 'blog' (errno: 13) こうなりました。個人的にユーザー権限の問題かと思ったので調べてみます! springについても、調べてみます!
winterboum

2020/06/03 10:15

これかも MySQLデータディレクトリに権限の問題がある可能性があります。次のように権限を設定してみてください(データディレクトリへのパスは合わせて) chown -R mysql:mysql /usr/local/mysql/data
suirunakamura

2020/06/03 10:24 編集

わかりました! chownコマンドでいじってみましたが、エラー文は変わらずに発生してしまいました。
guest

0

追記

database.ymlのsocketの部分は記述しなくても良いという記事を読んだのでコメントアウトしてdb:createコマンドを実行してみました。すると、別のエラー文に切り替わりました。

rails db:create /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:90: warning: already initialized constant FileUtils::VERSION /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:105: warning: previous definition of VERSION was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1188: warning: already initialized constant FileUtils::Entry_::S_IF_DOOR /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1284: warning: previous definition of S_IF_DOOR was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1446: warning: already initialized constant FileUtils::Entry_::DIRECTORY_TERM /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1568: warning: previous definition of DIRECTORY_TERM was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1501: warning: already initialized constant FileUtils::OPT_TABLE /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1626: warning: previous definition of OPT_TABLE was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1555: warning: already initialized constant FileUtils::LOW_METHODS /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1685: warning: previous definition of LOW_METHODS was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1562: warning: already initialized constant FileUtils::METHODS /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1692: warning: previous definition of METHODS was here Mysql2::Error: Can't create database 'portfolio_development' (errno: 13) Couldn't create 'portfolio_development' database. Please check your configuration. rails aborted! ActiveRecord::StatementInvalid: Mysql2::Error: Can't create database 'portfolio_development' (errno: 13) /Users/apple/create/portfolio/bin/rails:9:in `<top (required)>' /Users/apple/create/portfolio/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: Mysql2::Error: Can't create database 'portfolio_development' (errno: 13) /Users/apple/create/portfolio/bin/rails:9:in `<top (required)>' /Users/apple/create/portfolio/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Tasks: TOP => db:create (See full trace by running task with --trace)

このようなエラー文が表示されました。

どうか、ご確認と解決案をよろしくお願いします。

改めて、確認もかねてmysqlのユーザー権限を設定しなおしてみました。データベース作成やテーブル作成の権限を付与してみました。しかし、再度db:createコマンドを実行してみても、解決に至らずエラー文も前回と同じ結果になってしまいました。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'; Query OK, 0 rows affected (0.01 sec) rails db:create /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:90: warning: already initialized constant FileUtils::VERSION /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:105: warning: previous definition of VERSION was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1188: warning: already initialized constant FileUtils::Entry_::S_IF_DOOR /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1284: warning: previous definition of S_IF_DOOR was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1446: warning: already initialized constant FileUtils::Entry_::DIRECTORY_TERM /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1568: warning: previous definition of DIRECTORY_TERM was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1501: warning: already initialized constant FileUtils::OPT_TABLE /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1626: warning: previous definition of OPT_TABLE was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1555: warning: already initialized constant FileUtils::LOW_METHODS /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1685: warning: previous definition of LOW_METHODS was here /Users/apple/.rbenv/versions/2.5.1/lib/ruby/2.5.0/fileutils.rb:1562: warning: already initialized constant FileUtils::METHODS /Users/apple/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fileutils-1.4.1/lib/fileutils.rb:1692: warning: previous definition of METHODS was here Mysql2::Error: Can't create database 'portfolio_development' (errno: 13) Couldn't create 'portfolio_development' database. Please check your configuration. rails aborted! ActiveRecord::StatementInvalid: Mysql2::Error: Can't create database 'portfolio_development' (errno: 13) /Users/apple/create/portfolio/bin/rails:9:in `<top (required)>' /Users/apple/create/portfolio/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: Mysql2::Error: Can't create database 'portfolio_development' (errno: 13) /Users/apple/create/portfolio/bin/rails:9:in `<top (required)>' /Users/apple/create/portfolio/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Tasks: TOP => db:create

原因がわからないですww
再度、解決に努めてみます!

投稿2020/06/01 09:50

編集2020/06/01 10:36
suirunakamura

総合スコア16

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問