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:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!