質問: 現在、Ruby on Railsでサービスを開発中のものです。 ユーザーが音声ファイルをデータベースに登録できるサービスを作成しているのですが、6MB程度のファイルをアップした時は、大容量のため、アップロードできないようになってしまいます。 色々調べたのですが、コマンドライン(ターミナル)上で、max_allowed_packetを変更すれば容量が大きなファイルもアップロード可能になるということで、ターミナルで以下のように設定したのですが、反映されません。 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 (ログイン後) mysql> set global max_allowed_packet=33553408; ↓ (以下が表示) Query OK, 0 rows affected (0.00 sec) (反映を確認のため、以下を入力) mysql> show variables like 'max_allowed_packet'; +--------------------+---------+ | Variable_name | Value | +--------------------+---------+ | max_allowed_packet | 4194304 | +--------------------+---------+ 1 row in set (0.00 sec) 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 上記のように、max_allowed_packetが反映されません。 原因等お分かりになる方がいらっしゃれば、ご教示頂けますと幸いです。
回答: globalが抜けていませんか? ``` show global variables like 'max_allowed_packet'; ``` 以下、追記 ``` set global ... ``` した後は、新しいセッションに対してその値が有効となります。 既存のセッションは変更されていないので、古い値が表示されています。 一度そのセッションを終了して、再度接続すれば ``` show variables like 'max_allowed_packet'; ``` でも、設定値が確認できます。