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:
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:
So, how can I gently explain to the CT to let MariaDB server free?
Best regards,
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
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: