MYSQL报错「max_allowed_packetより大きいパケットは許可されていません」

バイナリラージオブジェクトであるBLOB(バイナリラージオブジェクト)は、バイナリファイルを格納できるコンテナです。コンピューターでは、BLOBは、バイナリファイルをデータベースに格納するために使用されるフィールドタイプであることがよくあります。
BLOBは大きなファイルです。一般的なBLOBは、画像または音声ファイルです。サイズが大きいため、特別な方法(アップロード、ダウンロード、データベースへの保存など)で処理する必要があります。Eric Raymondによると、BLOBを処理する主なアイデアは、ファイルプロセッサ(データベースマネージャなど)がファイルの内容を気にせず、ファイルの処理方法を気にすることです。ただし、一部の専門家は、この大きなデータオブジェクトの処理方法は両刃の剣であり、大きすぎるバイナリファイルの保存などの問題を引き起こし、データベースのパフォーマンスを低下させる可能性があることを強調しました。大きなマルチメディアオブジェクトをデータベースに保存することは、BLOBを処理するアプリケーションの典型的な例です。 


mysql BLOBタイプ 


MySQLでは、BLOBは、TinyBlob、Blob、MediumBlob、LongBlobを含む一連のタイプです。これらのタイプの唯一の違いは、ストレージファイルの最大サイズです。 
  MySQLの4 BLOB型 
  タイプのサイズ(単位:バイト) 
  TINYBLOB最大255 
  ブロブ最大65K 
  MEDIUMBLOB最大16M 
  LONGBLOB最大4G 


Linuxの変更など/ my.cnfの 
[mysqldを] 

max_allowed_pa​​cket = 16M // [mysqldump]の下のmax_allowed_pa​​cketとは異なります 


上記は転載した内容で、my-large.ini、my-small.ini、my-medium.ini、my-huge.iniの4つのファイルがあります。

最初は理解できませんでした。4つのファイルでmax_allowed_pa​​cketを検索し、mysqldとmysqldumpのカテゴリでそれぞれmax_allowed_pa​​cketを見つけました。デフォルトは1M、16Mです。

慎重に検討した結果、[mysqld]は次の設定のいずれかに対応するカテゴリを表す必要があることに気付きました。4つのファイルの下にあるmysqldカテゴリのすべてのmax_allowed_pa​​cket16Mに設定し、再起動します

サービス終了後は発効しませんでした。

しかし、長い間勉強した後、私は自分のSBについて学びました。これらのiniはMySQLによって提供される参照構成ファイルにすぎません。特定の構成はmy.iniです。

最後に、max_allowed_pa​​cket = 16Mをmy.iniのmysqldカテゴリにコピーして、サービスを再起動します。

おすすめ

転載: blog.csdn.net/lc547913923/article/details/60957050