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

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

新規登録して質問してみよう
ただいま回答率
85.49%
Ruby on Rails

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

Q&A

解決済

2回答

818閲覧

rake db:createを実行するとエラーが起きました

honda_toru

総合スコア30

Ruby on Rails

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

0グッド

1クリップ

投稿2019/01/27 10:22

編集2019/01/28 15:13

railsで初めからアプリの開発をはじめましたが
$rake db:createを実行すると以下のエラーが発生しました
解決策をご教示ください。また初心者なので具体的なコマンドもご教示お願いします。

また、以前は$rake db:createを実行できていました。
もし初めから全てインストールし直したら良い場合
消した方がいいものと、消し方をご教示ください。
これ以上進まなくてとても困っているので、お助けいただけないでしょうか?

rake aborted!
LoadError: dlopen(/Users/name/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2/lib/mysql2/mysql2.bundle, 9): Library not loaded: /usr/local/opt/mysql/lib/libmysqlclient.20.dylib
Referenced from: /Users/name/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2/lib/mysql2/mysql2.bundle
Reason: image not found - /Users/name/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/mysql2-0.5.2/lib/mysql2/mysql2.bundle
/Users/name/projects/sample/config/application.rb:7:in <top (required)>' /Users/name/projects/sample/Rakefile:4:in require_relative'
/Users/name/projects/sample/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)

これまでに行った処理は
$rails 5.2.1 new sample -d mysql
Gemfileを編集
gem 'mysql2', '>= 0.4.4', '< 0.6.0'を
gem 'mysql2', '0.5.2'に
gem 'sass-rails', '~> 5.0'を
gem 'sass-rails', '5.0.7'に変更
末尾に
gem 'pry-rails'
gem 'compass-rails','3.1.0'
gem 'sprockets', '3.7.2'を追加しました。
$bundle update
$bundle installです

Mysqlに関連する処理
$ brew install mysql@5.6
$ mkdir ~/Library/LaunchAgents
$ ln -sfv /usr/local/opt/mysql@5.6/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql@5.6.plist
$ echo 'export PATH="/usr/local/opt/mysql@5.6/bin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile
$ mysql.server start
$ mysql_secure_installation
$ mysql -uroot -p

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

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

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

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

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

guest

回答2

0

自己解決

調べながら色々試すことで別のエラーになりました。
その過程で試したことを記述します
1.mysqlのプロセスを確認
$ ps ax | grep mysql
23704 s000 R+ 0:00.00 grep mysql
2.mysqlのプロセスの強制終了をする
$ sudo kill プロセスID(23704)

3.再度mysqlのプロセスを確認
$ ps ax | grep mysql
→さっき消したプロセスが実際に消えてる

他には
$ ps -ef | grep mysql
501 87813 1 0 10:36PM ?? 0:00.03 /bin/sh /usr/local/opt/mysql@5.6/bin/mysqld_safe --datadir=/usr/local/var/mysql
501 87910 87813 0 10:36PM ?? 0:00.42 /usr/local/opt/mysql@5.6/bin/mysqld --basedir=/usr/local/opt/mysql@5.6 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/opt/mysql@5.6/lib/plugin --log-error=MacBook-Pro.local.err --pid-file=MacBook-Pro.local.pid
501 87912 26705 0 10:36PM ttys000 0:00.01 grep mysql
$ sudo kill 87910

mysqlの色々なファイルを削除しました
その過程でエラーが下記のように変わりました
$ rake db:create

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)
Couldn't create 'sample_development' database. Please check your configuration.
rake aborted!
Mysql2::Error::ConnectionError: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)
Tasks: TOP => db:create
(See full trace by running task with --trace)

また下記のエラーも起こっていたので
$ mysql.server start
Starting MySQL
. ERROR! The server quit without updating PID file (/usr/local/var/mysql/MacBook-Pro.local.pid).
こちらを試しました
$ sudo chown -R _mysql:_mysql /usr/local/var/mysql
$ sudo mysql.server start
Starting MySQL
. SUCCESS!

$ mysql.server startのエラーが解決したのち
$ rake db:create
Created database 'sample_development'
Created database 'sample_test'
無事通りました
色々試したのでどのプロセスが正しかったのかがわかりませんが
$ sudo chown -R _mysql:_mysql /usr/local/var/mysqlのコマンドは効果があったと思います。

投稿2019/01/31 15:40

honda_toru

総合スコア30

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

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

0

mysql の設定はできていますか?
していないなら、 web で mysql の設定方法をしらべて実施してください。

投稿2019/01/27 11:03

katoy

総合スコア22324

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

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

honda_toru

2019/01/27 11:21

mysqlの設定中に以下のエラーが発生していました これが原因でしょうか? $ source ~/.bash_profile -bash: eval: line 1: syntax error near unexpected token `&' -bash: eval: line 1: `&(rbenv init -)'
honda_toru

2019/01/28 15:06

上記のエラーは解決しました Mysqlの設定も質問に追記したものは設定しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問