閲覧ありがとうございます。現在Railsとdocker-composeでWEBアプリを開発しています。
Railsのproductionモードでdocker-composeを立ち上げるとMySQLがエラーで起動しません。
詳しい方、ご教授いただけないでしょうか?
質問内容
・なぜproductionモードとdevelopmentモードでなぜopen_file_limitとtable_open_cacheが違うのか?
・どのように対処すればいいのか?
発生している問題・エラーメッセージ
[Warning] Changed limits: max_open_files: 1024 (requested 5000) [Warning] Changed limits: table_open_cache: 431 (requested 2000)
原因はMySQLから求められた同時に開くことができるファイル数とテーブルのキャッシュ数が足りていないようです。
以下がproductionモードとdevelopmentモードの時のMySQLの設定です。
何も設定を変えていないのになぜopen_files_limit と open_files_limit の値が変わるのでしょうか?
# development +------------------+----------------+ | VARIABLE_NAME | VARIABLE_VALUE | +------------------+----------------+ | max_connections | 151 | | open_files_limit | 1048576 | | open_files_limit | 2000 | +------------------+----------------+
# production +------------------+----------------+ | VARIABLE_NAME | VARIABLE_VALUE | +------------------+----------------+ | max_connections | 151 | | open_files_limit | 1024 | | table_open_cache | 431 | +------------------+----------------+
該当のソースコード
# database.yml default: &default adapter: mysql2 encoding: utf8mb4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: password host: db development: <<: *default database: tooling_development test: <<: *default database: tooling_test production: <<: *default database: tooling_production username: tooling password: <%= ENV['TOOLING_DATABASE_PASSWORD'] %>
補足情報(FW/ツールのバージョンなど)
Rails 6.0.1
MySQL 5.7
Docker
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。