MySQLのデフォルトの設定ではフィールドデータは1MBまでのパケットしか挿入できません。画像が1MB未満でも他のデータの合計が1MB以上超えると挿入できないので、挿入できるように変更していきます。10月8日記事

目次





MySQLの設定ファイルmy.iniを開く

必ずバックアップを取るか、設定ファイルの変更部分を#でコメントアウトしておきましょう#がコメントアウトした状態です

XAMPPなら、コントロールパネルから、configファイルをクリック

[mysqld]の項目で
######(変更点)以下の3行を追加######
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix

#max_allowed_packet = 1M がオリジナルで、以下に変更
max_allowed_packet = 8M

#innodb_log_file_size = 5M がオリジナルで以下に変更
innodb_log_file_size = 500M
#innodb_log_buffer_size = 8M がオリジナルで以下に変更
innodb_log_buffer_size = 800M

※linuxなら、ファイルの場所は /etc/my.cnfです。

照合順序も一応設定する

一応これで挿入はできるようになるが、phpmyadminでは、「操作」の「テーブルオプション」から「照合順序」を切り替えておく。照合順序は

utf8mb4_general_ci

に設定。※また、コマンドで行う場合にはALTER TABLE テーブル名 COLLATE 新しい照合順序でいけるので、

ALTER TABLE テーブル名 COLLATE utf8mb4_general_ci;

でもいいです。これをすることでUTF-8の4バイト文字も扱えるようになります。

以上

最終更新:2015年10月09日 12:16
添付ファイル