前提・実現したいこと
現在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
あなたの回答
tips
プレビュー