【问题标题】:How to fix mysql stack overrun error如何修复mysql堆栈溢出错误
【发布时间】:2012-01-04 06:21:08
【问题描述】:

尝试插入记录时出现以下错误:

Thread stack overrun:  5768 bytes used of a 131072 byte stack, and 128000 bytes needed.  Use 'mysqld -O thread_stack=#' to specify a bigger stack.

我正在使用 Mac OSX - Lion。有人可以告诉我如何解决这个问题:也许使用在终端中运行的命令行。谢谢。

CREATE TABLE `string_data` (
 `stringId` int(11) NOT NULL,
 `languageCode` char(4) NOT NULL,
 `stringData` text,
 `modifiedDateTime` datetime DEFAULT NULL,
 PRIMARY KEY (`stringId`,`languageCode`),
 KEY `languageCode` (`languageCode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

【问题讨论】:

  • 插入记录不应该溢出堆栈...您是否有一些“重”触发器附加到该表?
  • 我不这么认为。我在原始帖子中添加表架构。
  • 看起来之前出现过几次 - stackoverflow.com/questions/2919558/… - 修复方法是将 thread_stack 变量设置为 256k。无法说出您的查询导致此错误的原因。
  • 我读过那个帖子。它没有显示如何将 thread_stack 设置为 256K;它只是说去做。有人知道怎么做吗?
  • 这是一个命令行参数,所以我猜这取决于你如何启动mySql。

标签: mysql osx-lion


【解决方案1】:

我在尝试创建和运行一个简单的存储过程时遇到了这个问题(在 OSX 上也使用 mysql)
我说:

[mysqld]
thread_stack=256k

在~/.my.cnf文件中,然后重新启动mysql服务器来修复它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-11
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 2012-05-21
    • 2020-09-11
    • 2014-01-26
    相关资源
    最近更新 更多