MYSQL教程Mysql Error Code : 1436 Thread stack overrun

MYSQL教程Mysql Error Code : 1436 Thread stack overrun,第1张

概述介绍《MYSQL教程Mysql Error Code : 1436 Thread stack overrun》开发教程,希望对您有用。

《MysqL教程MysqL Error Code : 1436 Thread stack overrun》要点:
本文介绍了MysqL教程MysqL Error Code : 1436 Thread stack overrun,希望对您有用。如果有疑问,可以联系我们。

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,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位系统,32G内存,一般设置为512K即可,据国外网站看到的,如果是64位的系统可以适当增加,其实够用就好了,没必须刚开始设置的就很大.

总结

以上是内存溢出为你收集整理的MYSQL教程Mysql Error Code : 1436 Thread stack overrun全部内容,希望文章能够帮你解决MYSQL教程Mysql Error Code : 1436 Thread stack overrun所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1164185.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存