7

我在mysql上有一个存储过程。它在我的本地 MAMP 环境中运行,该过程运行良好,但是当我将其移动到 linode 服务器/主机时,它无法运行。我收到“线程堆栈溢出”错误。我尝试将线程堆栈从初始值 64K 向上提升。我将值更改为 128K,然后更改为 256K。但问题仍然存在。

我正在开发一个清晰的 ubuntu 512MB linode 服务器。我在我的 mysql/my.cnf 文件中运行 linode 的建议配置:

key_buffer = 16K
max_allowed_packet = 1M
thread_stack = 64K 
table_cache = 4
sort_buffer = 64K
net_buffer_length = 2K

任何人都可以帮忙吗?你能建议不同的配置吗?

4

2 回答 2

10

我是个白痴。我将 thread_stack 重置为更高的数字,但我没有重新启动服务器。重新启动解决了问题。

于 2012-05-06T23:31:13.403 回答
5

如果你使用的是 Ubuntu 14.04,你可以在这里增加你的 MySQL 线程堆栈:

/etc/mysql/my.cnf

并更改此值thread_stack,它可能具有这样的值,例如:

thread_stack = 192K

之后,您需要像这样重新启动 MySQL:

sudo service mysql restart

有关更多信息,请参阅Ubuntu 14.04,MySQL 文档

于 2017-01-25T22:30:31.017 回答