1153: Got a packet bigger than 'max_allowed_packet' bytes(max_allowed_packet より大きいパケットを受信)
MySQL意味
クライアントまたはサーバーが、許可される最大パケットサイズ (max_allowed_packet) より大きいデータパケットを送ろうとした。通常は大きな BLOB/TEXT 値や非常に大きな一括 INSERT で発生する。
原因
非常に大きな BLOB/TEXT データの挿入、巨大な単一 INSERT または複数行の一括 INSERT、大きな結果を返すクエリ、小さい max_allowed_packet の値、mysqldump による大きな行のインポート。
対処方法
max_allowed_packet を増やし (サーバーとクライアントの両方で): SET GLOBAL max_allowed_packet = 67108864; (64MB)、再接続する。恒久化するには my.cnf の [mysqld] に max_allowed_packet = 64M を追加する。大きな一括操作は小さなバッチに分割する。非常に大きな値を本当に格納する必要があるか評価する。
同じデータベースの他の項目
- 1227Access denied; you need (at least one of) the PRIVILEGE(アクセス拒否。権限が必要)
- 3730Cannot drop table referenced by a foreign key constraint(外部キー制約で参照されているテーブルは削除できない)
- 2013Lost connection to MySQL server during query(クエリ中に MySQL サーバーとの接続が失われた)
- 1969MariaDB: Query execution was interrupted (max_statement_time exceeded)(クエリの実行が中断された)
- 1927MariaDB: ER_CONNECTION_KILLED: Connection was killed(接続が強制終了された)
- 1290ER_OPTION_PREVENTS_STATEMENT: running with the --read-only option(--read-only オプションで稼働中)
- 1836ER_READ_ONLY_MODE: Running in read-only mode(読み取り専用モードで稼働中)