#
# 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		= mariadb
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
port		= 3306
basedir		= /usr
# Don't put this on flash memory
# Figure out where you are going to put the databases and run
# mysql_install_db --force
datadir		= /mnt/data/mysql
# tmpdir should also not go on flash memory
tmpdir		= /tmp
lc-messages-dir	= /usr/share/mariadb

skip-external-locking

# 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

#
# * 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.
# Note that if unset the errors will go to stdout and can be seen in syslog
# (check "logread")
#
#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.
#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

#
# * Character sets
#
# MySQL/MariaDB default is Latin1, but in OpenWrt we rather default to the full
# utf8 4-byte character set. See also client.cnf
#
# Note: In OpenWrt until mariadb 10.2.19-2 the baked-in defaults were
# "DEFAULT_CHARSET=utf8" and "DEFAULT_COLLATION=utf8_general_ci". As MariaDB's
# utf8 (supports three bytes per character) is not really UTF-8 (which needs up
# to four bytes per character) this was changed. Now the baked in-defaults are
# the upstream defaults (Latin1), but in the default configuration (like in the
# file you are currently reading) utf8mb4 is set, which is real UTF-8.
#
# Of course you are free to change this, either here or in a configuration file
# of your own which is read after this .cnf file, see my.cnf in parent folder
# (files are read in alphabetical order).
character-set-server  = utf8mb4
collation-server      = utf8mb4_general_ci

#
# * Unix socket authentication plugin is built-in
#
# 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/

