Mengapa Saya Mendapat Ralat MySQL 1436: 'Thread Stack Overrun'?

Mary-Kate Olsen
Lepaskan: 2024-11-11 19:14:02
asal
571 orang telah melayarinya

 Why Am I Getting MySQL Error 1436:

Thread Stack Overrun: Ralat 1436 dalam MySQL

Perihalan Ralat

Punca Punca

Yang utama punca ralat 1436 ialah saiz tindanan benang yang tidak mencukupi. Saiz tindanan benang lalai biasanya ditetapkan kepada 128KB (131072 bait), tetapi boleh dikonfigurasikan dalam fail konfigurasi my.cnf.

Analisis Butiran Ralat

Mesej ralat menyediakan butiran berikut:

  • 1436: Nombor ralat.
  • Timbunan benang: Kawasan memori yang digunakan untuk menyimpan pembolehubah tempatan dan parameter fungsi semasa pelaksanaan benang.
  • Lampauan: Tindanan telah melebihi.
  • 6136 bait digunakan: Jumlah memori tindanan yang digunakan pada masa ralat.
  • 131072 bait tindanan: Jumlah saiz tindanan benang.
  • 128000 bait diperlukan: Jumlah memori tindanan yang diperlukan oleh operasi benang semasa.

Menentukan Sumber Tindanan Benang

Untuk menentukan dari mana nilai tindanan benang itu datang :

  1. Semak fail konfigurasi my.cnf untuk sebarang tetapan thread_stack eksplisit.
  2. Gunakan jadual performance_schema.variables_info untuk menanyakan lajur VARIABLE_SOURCE bagi pembolehubah 'thread_stack'. Ini akan mendedahkan sama ada nilai itu datang daripada binari yang disusun, fail konfigurasi atau tetapan dinamik.

Solution

Untuk menyelesaikan ralat 1436 , tambahkan saiz tindanan benang untuk menampung keperluan memori operasi benang. Ini boleh dicapai dengan:

  • Mengubah suai fail my.cnf: Tetapkan parameter 'thread_stack' kepada nilai yang lebih tinggi, biasanya 256KB atau lebih tinggi.
  • Melaraskan saiz tindanan benang secara dinamik: Gunakan pembolehubah 'thread_stack' yang ditentukan pengguna untuk menetapkan saiz tindanan tertentu untuk sambungan individu.
  • Mengoptimumkan pertanyaan atau pencetus: Kurangkan penggunaan tindanan pertanyaan atau pencetus dengan mengoptimumkannya dan mengurangkan kerumitannya.
  • Menentukan sama ada binaan tersuai MySQL telah digunakan: Jika ralat berlaku dalam binaan tersuai, sahkan bahawa saiz tindanan benang lalai tidak diubah suai semasa proses penyusunan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat MySQL 1436: 'Thread Stack Overrun'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan