国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Mysql Error Code : 1436 Thread stack overrun

2020-01-19 00:07:24
字體:
來源:轉載
供稿:網友

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. 

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” .

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. 

Once you set this value you need to restart MySQL as this value cannot be set dynamically.

you maybe also encounter with the message when you try to modify the my.cnf

"Cannot open file for writing: Permission denied"

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'.

After googling it, I get this file (my.cnf) permissions has to be 600. I change its permission and it works well now.

bug info

報錯信息:
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.

官方相應信息:

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

可以使用

show variables where `variable_name` = 'thread_stack';

查詢當前數據庫的默認線程棧的大小,一般情況下都能正常使用,但是當查詢語句或者存儲過程復雜時會報Thread stack overrun錯誤,此時只要修改默認配置就可以。

解決

windows: 修改mysql安裝目錄下的my-small.ini或者my.ini設置為256k,或者更大,然后重啟服務

[mysqld]
thread_stack = 256k
linux: 同樣要修改配置文件,但是!!!,不是安裝目錄下的配置文件,是/etc/my.cnf,只有這個文件才能生效,然后重啟服務service mysql restart

[mysqld]
thread_stack = 256k

其實針對32位系統,32G內存,一般設置為512K即可,據國外網站看到的,如果是64位的系統可以適當增加,其實夠用就好了,沒必須剛開始設置的就很大。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛宁县| 台中县| 临猗县| 黄陵县| 两当县| 桃江县| 宝坻区| 东乌珠穆沁旗| 临洮县| 攀枝花市| 长宁县| 柘荣县| 临湘市| 荔波县| 静乐县| 岳普湖县| 金川县| 贵定县| 芜湖县| 高阳县| 江北区| 大渡口区| 佛山市| 会昌县| 杭锦旗| 古丈县| 海原县| 永城市| 青铜峡市| 沿河| 南投市| 长海县| 罗甸县| 凤阳县| 肇州县| 略阳县| 湘潭市| 元谋县| 兴化市| 冀州市| 旬阳县|