CT vs MariaDB variables (can't change some values)

jkvorit

New Member
Nov 30, 2023
1
0
1
Hello,

After two days of search and tests, I finally decided to ask you.
I have a fresh CT where I run MariaDB 10.5. For another server soft that require some specific values, I added a file in `/etc/my.cnf.d/`.
All options written there seem to correctly sourced apart two ones : `table_open_cache_instances` and `table_open_cache`.
I read in MariaDB that the option `table_open_cache_instances` is by default at `8` but here, it's stucked at `1`.
I checked which conf files en used at service's start : no overwrite.
I tried to change it directly in the db server with `SET GLOBAL table_open_cache_instances = 4;` but I receive an error (`ERROR 1238 (HY000): Variable 'table_open_cache_instances' is a read only variable`). Normally ok cause this value can't be dynamically modified.
Next, I tried to add `--table_open_cache_instances=4` in `/etc/systemd/system/mariadb.service` : same situation, always at `1`.
Same result with `table_open_cache`.

The funny thing is that if I do exactly the same thing in a fresh VM, everything work.
So I'm thinking there must be some options I don't know about, both for the host and for the CT.

More information about versions used:
Code:
HOST:
  pve-manager/7.4-17/513c62be (running kernel: 5.15.131-1-pve)
CT:
  arch: amd64
  cmode: shell
  cores: 4
  memory: 4096
  ostype: opensuse
  swap: 4096
  tty: 1
  unprivileged: 1
  lxc.prlimit.nofile: 60000

  MariaDB:
    mariadb  Ver 15.1 Distrib 10.5.23-MariaDB, for Linux (x86_64) using readline 5.1

      /etc/my.cnf.d/opt.cnf
      [mysqld]
      bind-address=127.0.0.1
      sort_buffer_size=10M
      join_buffer_size=100M
      join_buffer_space_limit=300M
      join_cache_level=8
      tmp_table_size=512M
      max_heap_table_size=512M
      key_buffer_size=200M
      innodb_buffer_pool_size=1G
      innodb_thread_concurrency=20
      innodb_flush_log_at_trx_commit=0
      innodb_lock_wait_timeout=300
      max_allowed_packet=32M
      max_connections=151
      max_prepared_stmt_count=12800
      table_open_cache=60000
      table_open_cache_instances=4
      table_definition_cache=60000
I use openSUSE 15.5 up to date with the official MariaDB repo for this version.

The error message I receive when the server app (who requires this conf) starts:
Code:
MySQL configuration: wrong variable value: 'table_open_cache' = '16293'; expected minimum = '60000'.
MySQL configuration: wrong variable value: 'table_open_cache_instances' = '1'; expected minimum = '4'.

So, how can I gently explain to the CT to let MariaDB server free?

Best regards,
 
Last edited: