《MYSQL教程Mysql Error Code : 1436 Thread stack overrun》要點:
本文介紹了MYSQL教程Mysql Error Code : 1436 Thread stack overrun,希望對您有用。如果有疑問,可以聯(lián)系我們。
MYSQL應用ERRNO: 256?
TEXT: SQLSTATE[HY000]: General error: 1436 Thread stack overrun: 4904 bytes used of a 131072 byte stack, and 128000 bytes needed. Use 'mysqld -O thread_stack=#' to specify a bigger stack.?
MYSQL應用According to the MySQL manual “The default (192KB) is large enough for normal operation. If the thread stack size is too small, it limits the complexity of the SQL statements that the server can handle, the recursion depth of stored procedures, and other memory-consuming actions” .
MYSQL應用To resolve this issue you need to change the default value of parameter 'thread_stack' in /etc/my.cnf ?in your MySQL configuration file.?I use the XAMPP for php/mysql development.?
MYSQL應用
MYSQL應用Once you set this value you need to restart MySQL as this value cannot be set dynamically.
MYSQL應用you maybe also encounter with the message when you try to modify the my.cnf
MYSQL應用"Cannot open file for writing: Permission denied"
MYSQL應用We will try to use the 'chmod' instruction to change permission as usually. I seldom take the concrete permission into consideration, so I use always use the 'chmod 777'. but it resulted in another errors when I use the phpmyadmin, another tools included in XAMPP, after running 'chmod 777'.
MYSQL應用
MYSQL應用After googling it, I get this file (my.cnf) permissions has to be 600. I change its permission and it works well now.
MYSQL應用bug info
MYSQL應用報錯信息:
java.sql.SQLException: Thread stack overrun: 5456 bytes used of a 131072 byte stack, and 128000 bytes needed. Use 'mysqld --thread_stack=#' to specify a bigger stack.
MYSQL應用官方相應信息:
MYSQL應用The default (192KB) is large enough for normal operation. If the thread stack size is too small, it limits the complexity of the SQL statements that the server can handle, the recursion depth of stored procedures, and other memory-consuming actions
MYSQL應用可以使用
MYSQL應用show variables where `variable_name` = 'thread_stack';
MYSQL應用查詢當前數據庫的默認線程棧的大小,一般情況下都能正常使用,但是當查詢語句或者存儲過程復雜時會報Thread stack overrun錯誤,此時只要修改默認配置就可以.
MYSQL應用解決
MYSQL應用windows: 修改mysql安裝目錄下的my-small.ini或者my.ini設置為256k,或者更大,然后重啟服務
MYSQL應用[mysqld]
thread_stack = 256k
linux: 同樣要修改配置文件,但是!!!,不是安裝目錄下的配置文件,是/etc/my.cnf,只有這個文件才能生效,然后重啟服務service mysql restart
MYSQL應用[mysqld]
thread_stack = 256k
MYSQL應用其實針對32位系統(tǒng),32G內存,一般設置為512K即可,據國外網站看到的,如果是64位的系統(tǒng)可以適當增加,其實夠用就好了,沒必須剛開始設置的就很大.
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/1017.html