几天前我从MySQL数据库得到以下错误:
线程堆栈溢出:用于196608字节堆栈的68744字节,需要128000字节。使用'mysqld -O thread_stack =#'指定更大的堆栈。
我发现的所有文档都说:
MySQL 4.0.10之前的默认值是64KB,之后是192KB。如果线程堆栈大小太小,则会限制服务器可以处理的SQL语句的复杂性,存储过程的递归深度以及其他消耗内存的操作。
我将变量thread_stack设置为256K,但它只是一个随机值。现在它解决了这个问题,但我真的想知道它应该有多大,得到一些示例值或用法。 E.g:
答案 0 :(得分:11)
今天遇到了类似的错误。关于变量的MySQL documentation提供了一个默认值的提示,这个默认值应该足够(对于32位系统为192K,对于64位系统为256K),以及查看MySQL Benchmark suite。