Cara mengubah ukuran max_allowed_packet
Saya mengalami masalah dengan bidang BLOB di database MySQL - ketika meng-upload file yang lebih besar dari sekitar 1MB saya mendapatkan error paket-Paket yang lebih besar dari max_allowed_packet tidak diperbolehkan.
Berikut adalah apa yang saya've mencoba:
Di MySQL Query Browser saya berlari menunjukkan variabel-variabel seperti 'max_allowed_packet'
yang memberi saya 1048576.
Maka saya jalankan query set global max_allowed_packet=33554432
diikuti oleh menunjukkan variabel-variabel seperti 'max_allowed_packet'
- itu memberi saya 33554432 seperti yang diharapkan.
Tapi ketika saya restart server MySQL secara ajaib kembali ke 1048576. Apa yang saya lakukan salah di sini?
Pertanyaan Bonus, adalah mungkin untuk kompres bidang BLOB?
289
11
Perubahan
saya.ini
atau~/.saya.cnf
file dengan memasukkan satu baris di bawah[mysqld]
atau[klien]
bagian dalam file anda:kemudian restart MySQL layanan dan anda selesai.
Lihat dokumentasi untuk informasi lebih lanjut.
The max_allowed_packet variabel yang dapat diatur secara global dengan menjalankan query.
Namun, jika anda tidak mengubah hal ini di.ini` file (seperti dragon112 disarankan), nilai akan me-reset ketika me-restart server, bahkan jika anda mengatur hal itu secara global.
Untuk mengubah max diperbolehkan paket untuk semua orang untuk 1GB sampai server restart:
Salah satu junior saya pengembang memiliki masalah memodifikasi ini bagi saya jadi saya pikir saya akan memperluas hal ini secara lebih rinci untuk pengguna linux:
buka terminal
ssh root@YOURIP
masukkan password root
nano /etc/mysql/my.cnf (jika perintah ini tidak diakui melakukan hal ini terlebih dahulu atau mencoba vi kemudian ulangi: yum install nano )
tambahkan baris: max_allowed_packet=256M (jelas menyesuaikan ukuran untuk apa pun yang anda butuhkan) di bawah [MYSQLD] bagian. Dia membuat kesalahan dengan menempatkan di bagian bawah file pertama sehingga tidak bekerja.
Control + O (save) kemudian ENTER (konfirmasi) maka Control + X (exit file)
service mysqld restart
Anda dapat memeriksa perubahan dalam variabel-variabel pada bagian phpmyadmin
Saya pikir beberapa juga akan ingin tahu bagaimana untuk menemukan saya.ini file pada PC anda. Untuk pengguna windows, saya pikir cara terbaik adalah sebagai berikut:
Saya mendapat jawaban dari http://bugs.mysql.com/bug.php?id=68516
Mengikuti semua instruksi, ini adalah apa yang saya lakukan dan bekerja:
Jadi, seperti yang bisa kita lihat, max_allowed_packet telah berubah di luar dari saya.ini.
Memungkinkan meninggalkan sesi dan periksa lagi:
Kesimpulan, setelah DITETAPKAN GLOBAL max_allowed_packet=1073741824, server akan memiliki baru max_allowed_packet sampai restart, sebagai seseorang yang dinyatakan sebelumnya.
Jika anda mendapatkan kesalahan ini saat melakukan backup,
max_allowed_packet
bisa diatur di.cnfterutama untuk
mysqldump`.Aku terus mendapatkan kesalahan ini saat melakukan
mysqldump
dan aku tidak mengerti karena aku set disaya.cnf
di bawah[mysqld]
bagian. Setelah saya tahu saya bisa mengaturnya untuk[mysqldump]
dan saya mengatur nilai, saya backup selesai tanpa masalah.Bagi mereka yang menjalankan wamp server mysql
Wamp tray Icon -> MySql -> saya.ini
Gulir ke bawah ke akhir sampai anda menemukan
Tambahkan garis packet_size di antara
Memeriksa apakah itu bekerja dengan query ini
Banyak penjawab melihat masalah ini dan sudah memberikan solusi.
Saya hanya ingin menyarankan solusi lain, yang mengubah Glogal nilai variabel dari dalam alat Mysql Workbench. Yang tentunya JIKA anda menggunakan meja Kerja yang berjalan secara lokal pada server (atau melalui koneksi SSH)
Anda hanya terhubung ke anda contoh dan pergi pada menu:
Anda menetapkan nilai yang diinginkan dan kemudian anda perlu restart MySql Layanan.
Kesalahan ini datang karena data anda mengandung lebih besar dari nilai yang ditetapkan.
Hanya menuliskan
max_allowed_packed=500M
atau anda bisa menghitung bahwa 500*1024k dan menggunakan yang bukan 500M jika anda ingin.Sekarang hanya me-restart MySQL.
Bagi siapa saja yang menjalankan MySQL di Amazon RDS service, perubahan ini dilakukan melalui parameter kelompok. Yang anda butuhkan untuk membuat yang baru PG atau menggunakan yang sudah ada (selain default, yang read-only).
Anda harus mencari
max_allowed_packet
parameter, perubahan nilai, dan kemudian tekan save.Kembali di MySQL misalnya, jika anda membuat baru PG, anda harus melampirkan PG untuk anda contoh (anda mungkin perlu reboot). Jika anda berubah PG yang sudah terpasang untuk anda contoh, perubahan akan diterapkan tanpa reboot, semua contoh yang telah PG terlampir.
Jika anda ingin meng-upload gambar ukuran besar atau data dalam database. Hanya mengubah tipe data ke
'GUMPALAN BESAR'
.