• We value your experience with Plesk during 2024
    Plesk strives to perform even better in 2025. To help us improve further, please answer a few questions about your experience with Plesk Obsidian 2024.
    Please take this short survey:

    https://pt-research.typeform.com/to/AmZvSXkx
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Question Where tweaking/configuring "NEW" MariaDB 10.4/10.5 (formerly edited my.cnf)

Servus

Basic Pleskian
Hi Plesk users/supporters,
since I upgraded MariaDB to 10.5.5 on Ubuntu 18.04.5 with Plesk Obsidian 18.0.30, I realized that the former my.cnf is a link now and the configuration/tweaking (of former my.cnf) have to be done somewhere else, in another file.

Please, can you tell me please where or in which file I have to do the Database (MariaDB/MySQL) configuration now?

Under [mysqld] in /etc/mysql/my.cnf I did the configuration since I can remember and all my life long, e.g.:
*** But now the configuration seems to be done in another file and location.***
Code:
[mysqld]
bind-address=127.0.0.1
#bind-address = ::ffff:127.0.0.1
local-infile=0
innodb_buffer_pool_size=10G
innodb_log_file_size=256M
innodb_flush_log_at_trx_commit=2
innodb_autoextend_increment=1000
query_cache_size=64M
tmp_table_size=32M
max_heap_table_size=32M
max_connections=500

MariaDB 10.5.5.jpg
 
Last edited:
I'm not using 10.4 or 10.5 yet. Oh man, how much I hate it when developers introduce these types of changes with new versions. They are absolutely useless and are only causing a lot of work for users including new documentation, checklists and learning.

While I don't know the solution, it is easy how to find the new file: You simply log in by SSH to the linux console. Switch the path to /etc/mysql, then run
# ls -la
It will show you the target of the symbolic link.
 
***Danke Peter***
Thanks @Peter Debik for your help. I also thought that mariadb.cnf is the key from the beginning. BUT....

Bash:
root@server:/etc/mysql# ls -la
total 56
drwxr-xr-x   4 root root  4096 Sep 22 23:37 .
drwxr-xr-x 139 root root 12288 Oct  1 07:50 ..
drwxr-xr-x   2 root root  4096 Sep  4 07:03 conf.d
-rw-------   1 root root   295 Mar 27  2019 debian.cnf
-rwxr-xr-x   1 root root  1771 Aug  7 14:57 debian-start
-rw-r--r--   1 root root   893 Mar 22  2019 mariadb.cnf
-rw-r--r--   1 root root  1126 Aug  7 14:57 mariadb.cnf.dpkg-dist
drwxr-xr-x   2 root root  4096 Sep 22 22:47 mariadb.conf.d
lrwxrwxrwx   1 root root    11 Aug  7 15:01 my.cnf -> mariadb.cnf
-rw-r--r--   1 root root  1152 Mar 24  2019 my.cnf_24.03.19
-rw-r--r--   1 root root  5170 Nov  3  2019 my.cnf.dpkg-old
-rw-r--r--   1 root root   839 Aug  3  2016 my.cnf.fallback

BUT I think it isn't perhaps. The last hour I checked all relevant files. mariadb.cnf is very simple, more or less empty, look:

Code:
# The MariaDB configuration file
#
# The MariaDB/MySQL tools read configuration files in the following order:
# 1. "/etc/mysql/mariadb.cnf" (this file) to set global defaults,
# 2. "/etc/mysql/conf.d/*.cnf" to set global options.
# 3. "/etc/mysql/mariadb.conf.d/*.cnf" to set MariaDB-only options.
# 4. "~/.my.cnf" to set user-specific options.
#
# If the same option is defined multiple times, the last one will apply.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.

#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]

# Import all .cnf files from configuration directory
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/
[mysqld]
local-infile=0

By searching I found /etc/mysql/mariadb.conf.d/50-server.cnf with all stuff we normally need, like Fine tuning...I tested my innodb_flush_log_at_trx_commit=2 which I need for Woltlab forum software and inserted it under the [mysqld] section right under Fine tuning (see it in the next code). In the forums the warning about ...trx_commit was away then, means the configuration was taken, but all files content will be taken, which file is the absolute correct one?
It's very hard. I hate it like you. And much more I hate doing very important things only by guessing. That's why it would be great if someone from Plesk how knows this new features could help, too. Think the new versions of MariaDB are amazing, but like you've said, Peter, they have to write manuals and much more: warnings about new paths and files.

Code:
#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#

# this is read by the standalone daemon and embedded servers
[server]

# this is only for the mysqld standalone daemon
[mysqld]

#
# * Basic Settings
#
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket        = /var/run/mysqld/mysqld.sock
port        = 3306
basedir        = /usr
datadir        = /var/lib/mysql
tmpdir        = /tmp
lc-messages-dir    = /usr/share/mysql
skip-external-locking
plugin-load-add = auth_socket.so

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address        = 127.0.0.1

#
# * Fine Tuning
#
key_buffer_size        = 16M
max_allowed_packet    = 16M
thread_stack        = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam_recover_options  = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
innodb_flush_log_at_trx_commit=2


#
# * Query Cache Configuration
#
query_cache_limit    = 1M
query_cache_size        = 16M

#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Enable the slow query log to see queries with especially long duration
#slow_query_log_file    = /var/log/mysql/mariadb-slow.log
#long_query_time = 10
#log_slow_rate_limit    = 1000
#log_slow_verbosity    = query_plan
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id        = 1
#log_bin            = /var/log/mysql/mysql-bin.log
expire_logs_days    = 10
max_binlog_size   = 100M
#binlog_do_db        = include_database_name
#binlog_ignore_db    = exclude_database_name

#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!

#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates you can use for example the GUI tool "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
#
# Accept only connections using the latest and most secure TLS protocol version.
# ..when MariaDB is compiled with OpenSSL:
# ssl-cipher=TLSv1.2
# ..when MariaDB is compiled with YaSSL (default in Debian):
# ssl=on

#
# * Character sets
#
# MySQL/MariaDB default is Latin1, but in Debian we rather default to the full
# utf8 4-byte character set. See also client.cnf
#
character-set-server  = utf8mb4
collation-server      = utf8mb4_general_ci

#
# * Unix socket authentication plugin is built-in since 10.0.22-6
#
# Needed so the root database user can authenticate without a password but
# only when running as the unix root user.
#
# Also available for other users if required.
# See https://mariadb.com/kb/en/unix_socket-authentication-plugin/

# this is only for embedded server
[embedded]

# This group is only read by MariaDB servers, not by MySQL.
# If you use the same .cnf file for MySQL and MariaDB,
# you can put MariaDB-only options here
[mariadb]

# This group is only read by MariaDB-10.1 servers.
# If you use the same .cnf file for MariaDB of different versions,
# use this group for options that older servers don't understand
[mariadb-10.1]


Thanks a lot - Please more informations where to do the configuration best.
 
Last edited:
Back
Top