Menyelesaikan masalah Ralat MySQL 1153: Saiz Paket Melebihi Had 'max_allowed_packet'
Import pangkalan data boleh gagal dengan ralat "Mendapat paket lebih besar daripada ' max_allowed_packet' bytes" apabila data penting ditemui, terutamanya lampiran. Berikut ialah panduan terperinci untuk menyelesaikan ralat ini:
Mengenalpasti Komponen Yang Terjejas:
- Ralat boleh berlaku disebabkan had saiz paket yang tidak mencukupi untuk kedua-dua pelanggan (dari di mana import dilaksanakan) dan daemon MySQL (mysqld) mengendalikan import.
Membuat Perubahan untuk Pelanggan:
- Nyatakan pilihan '--max_allowed_packet' pada baris arahan semasa menjalankan arahan import:
mysql --max_allowed_packet=100M -u root -p database < dump.sql
Salin selepas log masuk
Mengemas kini Pelayan Tetapan:
- Edit fail konfigurasi MySQL (biasanya terletak di /etc/mysql/my.cnf atau /etc/mysql/my.ini) dan tambah yang berikut di bawah [mysqld] bahagian:
max_allowed_packet=100M
Salin selepas log masuk
Mengubah suai Pelayan Pembolehubah:
- Jika anda memilih untuk tidak mengedit fail konfigurasi, anda boleh menetapkan pembolehubah pelayan global yang terlibat secara manual:
set global net_buffer_length=1000000;
set global max_allowed_packet=1000000000;
Salin selepas log masuk
Pertimbangan Tambahan :
- Gunakan nilai yang besar untuk 'net_buffer_length' dan 'max_allowed_packet' untuk menampung data penting.
- Pastikan kedua-dua tetapan klien dan pelayan untuk 'max_allowed_packet' ditetapkan dengan betul untuk membolehkan paket yang lebih besar semasa import.
- Jika ralat berterusan, pertimbangkan meningkatkan memori sistem (RAM) untuk mengendalikan saiz paket yang lebih besar.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat MySQL 1153: Saiz Paket Melebihi Had 'max_allowed_packet'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!