Oorzaak
De standaardwaarde van 16 MB voor de instelling MySQL max_allowed_packets
is niet groot genoeg voor uw behoeften.
Oplossing
-
Identificeer vragen waar de individuele rijen de huidige
max_allowed_packet
grens overschrijden. Dergelijke vragen moeten worden herschreven om de hoeveelheid terug te geven gegevens te verminderen. Dit kan door een kleiner aantal kolommen in deSELECT
verklaring te hebben of een kleiner gegevenstype voor diverse kolommen als deel van het lijstontwerp te kiezen. Als u een rekening van New Relic hebt, gebruik de pagina van de Fouten van New Relic APMen de pagina van de Gegevensbestanden van New Relic APM, en Logs van New Relicom naar de relevante vragen te zoeken. -
Voor snelle sanering, kunt u tijdelijk verzoeken om de
max_allowed_packet
grootte om worden verhoogd wanneer u een kaartjevoorlegt, maar dit is bij de discretie van het team van de Techniek van de Klant, aangezien te groot van een waarde replicatiefouten kan veroorzaken door netwerkcongestie te veroorzaken. -
Als beste praktijken, zou u het volgende bevel in uw CLI voor sommige van uw grote gegevensbestandlijsten moeten in werking stellen:
show table status like [table name to match]
Evalueer de vragen die op deze lijsten lopen om te bepalen als u de geadviseerde
max_allowed_packet
grootte van 16MB overschrijdt. Volg het zelfde proces in stap één om de gegevens te verminderen die door dergelijke vragen worden teruggegeven.