Max_allowed_packet boyutu nasıl değiştirilir
MySQL veritabanımdaki BLOB alanlarıyla ilgili bir sorun yaşıyorum - yaklaşık 1 MB'tan büyük dosyaları yüklerken Max_allowed_packet'ten daha büyük paketlere izin verilmiyor
hatası alıyorum.
İşte denediğim şey:
MySQL Query Browser'da 'max_allowed_packet'gibi bir
show variables' çalıştırdım ve bana 1048576 değerini verdi.
Ardından set global max_allowed_packet=33554432
sorgusunu çalıştırıyorum ve ardından show variables like 'max_allowed_packet'
- beklendiği gibi bana 33554432 veriyor.
Ancak MySQL sunucusunu yeniden başlattığımda sihirli bir şekilde 1048576 değerine geri dönüyor. Burada neyi yanlış yapıyorum?
Bonus soru, bir BLOB alanını sıkıştırmak mümkün mü?
289
3
Dosyanızdaki
[mysqld]
veya[client]
bölümünün altındaki tek satırı dahil ederekmy.ini
veya~/.my.cnf
dosyasında değişiklik yapın:ardından MySQL hizmetini yeniden başlatın ve işiniz bitti.
Daha fazla bilgi için dokümantasyon bölümüne bakın.
max_allowed_packet]1 değişkeni bir sorgu çalıştırılarak global olarak ayarlanabilir.
Ancak, bunu
my.ini
dosyasında değiştirmezseniz (dragon112'nin önerdiği gibi), global olarak ayarlasanız bile sunucu yeniden başlatıldığında değer sıfırlanacaktır.Sunucu yeniden başlatılana kadar herkes için izin verilen maksimum paketi 1GB olarak değiştirmek için:
Bu hata, verilerinizin ayarlanan değerden daha büyük bir değer içermesinden kaynaklanır.
Sadece
max_allowed_packed=500M
değerini yazın ya da isterseniz 500*1024k değerini hesaplayıp 500M yerine kullanabilirsiniz.Şimdi MySQL'i yeniden başlatın.