Ik heb een probleem met BLOB velden in mijn MySQL database - bij het uploaden van bestanden groter dan ongeveer 1MB krijg ik de foutmelding Packets groter dan max_allowed_packet are not allowed.
Hier is wat ik'heb geprobeerd:
In MySQL Query Browser heb ik een show variables like 'max_allowed_packet'
uitgevoerd die me 1048576 gaf.
Dan voer ik de query set global max_allowed_packet=33554432
uit gevolgd door show variables like 'max_allowed_packet'
- het geeft me 33554432 zoals verwacht.
Maar wanneer ik de MySQL server herstart gaat het op magische wijze terug naar 1048576. Wat doe ik hier verkeerd?
Bonus vraag, is het mogelijk om een BLOB veld te comprimeren?
Wijzig dit in het bestand my.ini
of ~/.my.cnf
door de enkele regel op te nemen onder [mysqld]
of [client]
sectie in uw bestand:
max_allowed_packet=500M
herstart dan de MySQL service en u bent klaar.
Zie de documentatie voor verdere informatie.
De max_allowed_packet variabele kan globaal worden ingesteld door een query uit te voeren.
Echter, als je het niet wijzigt in het my.ini
bestand (zoals dragon112 voorstelde), zal de waarde gereset worden wanneer de server herstart, zelfs als je het globaal instelt.
Om het maximaal toegestane pakket voor iedereen te veranderen in 1GB totdat de server opnieuw opstart:
SET GLOBAL max_allowed_packet=1073741824;
Deze fout komt omdat uw gegevens een grotere waarde bevatten dan ingesteld.
Schrijf gewoon de max_allowed_packed=500M
of u kunt berekenen dat 500 * 1024k en gebruik dat in plaats van 500M als je wilt.
Start nu MySQL opnieuw op.