0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Unicornでデータベースが!

Last updated at Posted at 2019-06-29

問題 
Unicornでデータベースが作れない!

rails db:migrate RAILS_ENV=productionが通らない!
仮説 unicornのlessを確認すると

 ERROR -- : Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (Mysql2::Error::ConnectionError)

と出ている

 MySQLサーバーで使っているUNIXソケットとクライアントソフトで使っているUNIXソケットのパスが違う??
ソケットに問題がある?

検証したこと
・まずMysqlが正常に起動しているか

$ sudo service mysqld status

・ソケットの確認

$  mysql_config --socket

でソケットを確認してみた
database.ymlの[ production: 〜:socket]の記述と本番環境のソケットが一致しているか

スクリーンショット 0001-06-29 18.39.17.png $ rails db:create RAILS_ENV=production入力後に $ mysql -u root -pからmysqlをSHOW DATABASEで確認すると、、、

原因
そもそも、$ rails db:create RAILS_ENV=productionでDatabaseが作られていなかった!

解決方法
database.ymlのproduction:に$ rails db:create RAILS_ENV=productionで作成されるデータベース名の指定を追加する
[ production: 〜database:データベース名]

スクリーンショット 0001-06-29 18.39.44.png

production:
  <<: *default
  database: freemarket_sample_53a_production  ←これを追加
  username: root
  password: <%= ENV['DATABASE_PASSWORD'] %>
  socket: /var/lib/mysql/mysql.sock

これでデータベースが作られるようになった。めでたし

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?