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

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

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

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Ruby on Rails 6

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

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

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

Q&A

0回答

1103閲覧

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Engineer_traine

総合スコア17

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Ruby on Rails 6

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

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Ruby on Rails

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

0グッド

0クリップ

投稿2021/07/29 02:56

編集2021/07/29 06:02

前提・実現したいこと

現在herokuデプロイを行う過程の中でデータベースの設定としてテーブルを作成するところでエラーが発生し止まっている状態です。
heroku run bin/rails db:migrateの入力でエラーが発生しています。
具体的な自分の行なったこととしては下記の通りです。

$heroku login $ heroku create $ git push heroku testbranch:master

Herokuにクレジット登録

$ heroku addons:create jawsdb:kitefin `config/database.yml`にある`production`の設定情報を以下のよう追加 production: <<: *default url: <%= ENV['JAWSDB_URL']&.sub('mysql://', 'mysql2://') %> $ git commit -a -m "Look for env var defined by JAWSDB addon on production" $ git push heroku testbranch:master

aws Iamユーザーの作成

User nameはsample
Access typeはProgrammatic accessにチェックを入れる
Add permission -> Attach existing policies directly からAmazonS3FullAccessを選択する
Tagは追加なし

$ brew install awscli $ aws configure AWS Access Key ID [None]: (ユーザーのAccess key ID) AWS Secret Access Key [None]: (ユーザーのSecret access key) Default region name [None]: ap-northeast-1 Default output format [None]: json $aws s3 mb s3://sample1 $aws s3api put-bucket-acl --bucket sample1 --acl public-read aws s3 ls

config/storage.ymlのamazonの項目のコメントアウトを外し

amazon: service: S3 access_key_id: <%= ENV['AWS_ACCESS_KEY_ID'] %> secret_access_key: <%= ENV['AWS_SECRET_ACCESS_KEY'] %> region: ap-northeast-1 bucket: バケット名

gemlfileに追加
gem "aws-sdk-s3", require: false
ターミナルで bundle install

$ heroku config:set AWS_ACCESS_KEY_ID=(ユーザーのAccess key ID) AWS_SECRET_ACCESS_KEY=(ユーザーのSecret access key) $ git commit -a -m "Configure Active Storage to use S3" $ git push heroku testbranch:master $ heroku run bin/rails db:migrate #ここの箇所でエラーが生じる

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

rails aborted! ActiveRecord::ConnectionNotEstablished: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

試したこと

エラー内容を調べた所、解決策として以下の手順を実行しました。

該当のソースコード

$sudo touch /tmp/mysql.sock $ sudo mysql.server restart

以上の内容をターミナルで入力したところ
ERROR! MySQL server PID file could not be found!と表示されました。
調べてみるとpidファイルが無いって言われているということのようなので次のような処理を行い再度mysqlを起動しましたが変わらずでした。

$cd /usr/local/var/mysql $ls $sudo touch /usr/local/var/mysql/******.pid $ls

最後に以下の処理を行いました。

$ sudo rm /tmp/mysql.sock $ sudo rm /tmp/mysql.sock.lock $ chown -R _mysql:_mysql mysql

この入力の結果として次のように返ってきたので再度
heroku run bin/rails db:migrateを実行しましたが
結局最初のようにエラーが発生してしまいお手上げ状態となっています。
何かアドバイス等ありましたら回答の方よろしくお願いします。

$ sudo mysql.server restart ERROR! MySQL server PID file could not be found! Starting MySQL . SUCCESS!

補足情報(FW/ツールのバージョンなど)

mac os big sur 11.5

参考にしたサイト
https://qiita.com/makuramoto1/items/52159370d00bef708595

https://qiita.com/k-yasuhiro/items/95a60618d9743e3749a2

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

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

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

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

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

hoshi-takanori

2021/07/29 05:11

MySQL をどこで動かそうとしてますか? heroku で MySQL を使うには、ClearDB アドオンを使う必要があります。 https://trialanderror.jp/heroku-mysql-start/ (なお、mysql.sock は MySQL サーバーが作る通信用の特殊ファイルで、pid ファイルは MySQL が自分のプロセス ID を書き込むファイルです。どちらも自分で作っても意味はありません。そもそも heroku で MySQL を使いたいなら、ローカルで動かしても仕方ないですし…。)
Engineer_traine

2021/07/29 06:09

今回学習の中で初めてherokoデプロイを行うため回答への返答が的外れだと困ると考えたので自分が行なった手順の流れを記載しました。 なにか手順で足りない箇所等ありますでしょうか? また回答に関してなのですが >ClearDB アドオンを使う必要があります。 自分の手順の中で使用しているjawsdbはアドオンとして導入しているのですがこれでは意味がないためclear dbを導入する必要があるということでしょうか? 勉強不足で申し訳ありません。
hoshi-takanori

2021/07/29 06:19

ごめんなさい、heroku で MySQL を使うには、ClearDB 以外に JawsDB というのもあるんですね。 でも、AWS を直接使う必要はないのでは…。(私が分かってないだけだったらごめんなさい。)
Engineer_traine

2021/07/29 08:33

awsを使用した経緯についてですが画像保存用のストレージを設定を行うためにaws s3を使用するという形に至りました。 Herokuではクラウドファイルストレージサービスの利用が推奨されているかと思いましたので。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問