MySQL 5.7.30“thread_stack”值无法在 ubuntu 16.04 中更新

MySQL 5.7.30“thread_stack”值无法在 ubuntu 16.04 中更新

在 Ubuntu 16.04 上进行全新安装后,我们的应用程序的“thread_stack”值需要更新为 256K(从默认的 192K)。

my.cnf我们尝试使用以下参数来更新值。

  #
  # * Fine Tuning
  #
  key_buffer        = 16M
  max_allowed_packet    = 16M
  thread_stack              = 262144 //also tried with 256K
  thread_cache_size       = 8

  #Added for activec5 installation
  table_open_cache = 4
  sort_buffer_size = 64K
  read_buffer_size = 256K
  read_rnd_buffer_size = 256K
  net_buffer_length = 2K

但我收到了这个错误, mysql: [ERROR] Found option without preceding group in config file /etc/mysql/my.cnf at line 27!

然后我在每一行前面添加了一个 ! ,错误没有出现,但如果我执行

   SHOW VARIABLES LIKE '%thread_stack%';

   +---------------+--------+
   | Variable_name | Value  |
   +---------------+--------+
   | thread_stack  | 196608 |
   +---------------+--------+

未读取 my.cnf 文件。我还尝试通过 MYSQL 提示符进行设置,但它说ERROR 1238 (HY000): Variable 'thread_stack' is a read only variable

我还尝试查找其他一些文件,但没有找到。我遗漏了什么?如何将值更新为实际值?

答案1

该文件my.cnf只是一个包含进一步搜索配置位置的文件。如下所示。

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

因此,您不应该将任何配置直接放入/etc/mysql/my.cnf,而应该放入指定的文件夹之一。

/etc/mysql/mysql.conf.d/tuning.cnf在您的情况下,创建包含如下行的文件是合适的。

[mysqld]
thread_stack = 256k

答案2

错误 1238 (HY000):变量“thread_stack”是只读变量

意味着您的 SET GLOBAL thread_stack=nnnnn; 只能在您的 my.cnf 文件中更改,因为它不是动态全局变量。

注意它是 [mysqld] 部分的一部分。

相关内容