Frage an linode, mysql – Wie löse ich einen mysql Thread Stack Overrun?

6

Ich habe eine gespeicherte Prozedur auf MySQL. Es hat in meiner lokalen MAMP-Umgebung funktioniert, die Prozedur hat gut funktioniert, aber wenn ich es auf einen Linode-Server / Host verschoben habe, wird es nicht ausgeführt. Ich erhalte die Fehlermeldung "Thread Stack Overrun". Ich habe versucht, den Thread-Stapel von einem Anfangswert von 64 KB zu erhöhen. Ich habe den Wert auf 128K und dann auf 256K geändert. aber das Problem tritt immer noch auf.

Ich arbeite an einem klaren Ubuntu 512 MB Linode-Server. Ich verwende die von Linode vorgeschlagene Konfiguration in meiner mysql / my.cnf-Datei:

<code>key_buffer = 16K
max_allowed_packet = 1M
thread_stack = 64K 
table_cache = 4
sort_buffer = 64K
net_buffer_length = 2K
</code>

Kann jemand helfen? Können Sie verschiedene Konfigurationen vorschlagen?

Deine Antwort

2   die antwort
8

ckgesetzt, aber den Server nicht neu gestartet. Durch einen Neustart wurde das Problem behoben.

4

können Sie Ihren MySQL-Thread-Stack hier erhöhen:

/etc/mysql/my.cnf

und ändern Sie diesen Wertthread_stack die einen Wert wie diesen haben könnten, zum Beispiel:

thread_stack = 192K

Danach müssen Sie MySQL wie folgt neu starten:

sudo service mysql restart

Siehe dieUbuntu 14.04, MySQL-Dokumentationn für mehr Infos.

Starten Sie unter Ubuntu 16.04 MySQL neu mit:sudo systemctl restart mysql.service racl101
In Ubuntu-16.04.3 wurden Speicherort und Name der Datei geändert. Ich musste rennensudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf den Wert von ändernthread_stack. Joe

Verwandte Fragen