掲題の件、phpmyadminを使用して、画像や動画をDBに格納する際にエラーとなりました。
・エラー
MySQL server has gone away
#1118 – The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size.
原因と対応
原因と対応を以下に記載します。
原因
大容量のクエリーでエラーとなっているようです。
対応
下記、mysqlの設定ファイル項目の内容を書き換えます。
・項目
max_allowed_packet
デフォルトは16Mです。値は任意の大きい数字にします。
それでも違うエラーが表示されます。
#1118 – The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size.
エラーに従い、my.iniの下記項目の値を変更します。
・項目
innodb_log_file_size
設定ファイルの内容を変更した際は、mysqlを再起動してください。
ワーニングは起こりますが、画像や動画が登録出来ました。
残課題
設定を戻して試しましたが今度はエラーが出なくなりました。。。
あと、ワーニングを気になります。
mysqlの設定ファイル
mysqlが使用している設定ファイルは以下から確認できます。
起動バッチファイル
XAMMPでSQLを起動する際、設定ファイルを読み込んでいます。mysqlの起動バッチを確認します。
・起動バッチ
C:\xampp\mysql_start.bat
このファイルを見ると以下のような記述があります。
mysql\bin\mysqld –defaults-file=mysql\bin\my.ini
すなわち、mysql\bin\my.ini の設定ファイルを読みんでいます。
最後に
とりあえず備忘録として残します。
色々よくわかりませんでしたので、今後何かわかったら更新します。