Unicornでデータベースが!
問題
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]の記述と本番環境のソケットが一致しているか
$ 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:データベース名]

production:
<<: *default
database: freemarket_sample_53a_production ←これを追加
username: root
password: <%= ENV['DATABASE_PASSWORD'] %>
socket: /var/lib/mysql/mysql.sock
これでデータベースが作られるようになった。めでたし

Author And Source
この問題について(Unicornでデータベースが!), 我々は、より多くの情報をここで見つけました https://qiita.com/merumeru/items/1e638f443b7ecb676886著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .