MariaDB /etc/mysql/mariadb.conf.d/50-server.cnf

Authentic ๐Ÿ“‹ Debian 11 (Bullseye) 118 lines

File Info

Size
118 lines
MD5
b44d1acb3464ce2c402b19bc3a15a956
SHA256
bf16af208bc51c0b80029f08bd5a981129aede13e90cd0c972e515a48c1cf4d1

Quick Commands

curl:
curl https://exampleconfig.com/api/v1/config/original/b44d1acb3464ce2c402b19bc3a15a956?hint=50-server.cnf
wget:
wget -O 50-server.cnf https://exampleconfig.com/api/v1/config/original/b44d1acb3464ce2c402b19bc3a15a956?hint=50-server.cnf
/etc/mysql/mariadb.conf.d/50-server.cnf
#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see

# 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                = /run/mysqld/mysqld.pid
basedir                 = /usr
datadir                 = /var/lib/mysql
tmpdir                  = /tmp
lc-messages-dir         = /usr/share/mysql
lc-messages             = en_US
skip-external-locking

# Broken reverse DNS slows down connections considerably and name resolve is
# safe to skip if there are no "host by domain name" access grants
#skip-name-resolve

# 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        = 128M
#max_allowed_packet     = 1G
#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

#
# * Logging and Replication
#

# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# Recommend only changing this at runtime for short testing periods if needed!
#general_log_file       = /var/log/mysql/mysql.log
#general_log            = 1

# When running under systemd, error logging goes via stdout/stderr to journald
# and when running legacy init error logging goes to syslog due to
# /etc/mysql/conf.d/mariadb.conf.d/50-mysqld_safe.cnf
# Enable this if you want to have error logging into a separate file
#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_verbosity     = query_plan,explain
#log-queries-not-using-indexes
#min_examined_row_limit = 1000

# 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

#
# * SSL/TLS
#

# For documentation, please read
# https://mariadb.com/kb/en/securing-connections-for-client-and-server/
#ssl-ca = /etc/mysql/cacert.pem
#ssl-cert = /etc/mysql/server-cert.pem
#ssl-key = /etc/mysql/server-key.pem
#require-secure-transport = 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

#
# * 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!
# Most important is to give InnoDB 80 % of the system RAM for buffer use:
# https://mariadb.com/kb/en/innodb-system-variables/#innodb_buffer_pool_size
#innodb_buffer_pool_size = 8G

# 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.5 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.5]

How to Install MariaDB

Alpine Linux

sudo apk add mariadb

Debian

sudo apt update && sudo apt install mariadb-server

Red Hat Enterprise Linux

sudo yum install mariadb-server

Ubuntu

sudo apt update && sudo apt install mariadb-server

Configuration File Location

File Path
/etc/mysql/mariadb.conf.d/50-server.cnf
Directory
/etc/mysql/mariadb.conf.d/
Significance
System-wide configuration directory
Description
Files in /etc/ contain system-wide configuration settings that affect all users.

Complete MariaDB Configuration Guide

What is 50-server.cnf?
Get the original '50-server.cnf' configuration file for MariaDB from a clean Debian 11 (Bullseye) installation. This is the factory-default configuration for the popular MySQL-compatible database, perfect for migration planning, performance tuning, and understanding MariaDB-specific optimizations.
Technical Details
Found at '/etc/mysql/mariadb.conf.d/50-server.cnf', this 118-line file includes Aria storage engine settings, enhanced MyISAM performance, improved replication features, and advanced security options. Used by Wikipedia, Google, and millions of applications requiring high-performance database operations.
Common Configuration Question
How do you configure MariaDB for optimal performance and what are the key differences from MySQL on Debian 11?
Why Use This Configuration?
This default configuration showcases MariaDB's enhanced features including better thread handling, improved optimizer, and additional storage engines. Essential for database administrators and developers migrating from MySQL or building new applications.

Frequently Asked Questions

When should I use this 50-server.cnf file?

Use this original configuration file when you need to restore MariaDB to its default state after misconfiguration, during fresh installations, or as a baseline for customization. It's particularly useful for troubleshooting when your current config isn't working properly.

How do I restore MariaDB to default settings?

Download this file and replace your current configuration at /etc/mysql/mariadb.conf.d/50-server.cnf. Make sure to backup your existing configuration first, then restart the MariaDB service to apply the changes.

Is this 50-server.cnf file secure for production use?

This is the factory-default configuration that ships with MariaDB on Debian 11 (Bullseye). While it provides a secure baseline, you should review and customize security settings based on your specific production requirements and compliance needs.

What's the difference between this and other OS versions?

This configuration is specifically from Debian 11 (Bullseye). Different operating systems and versions may have slightly different default settings, security patches, or feature availability. Check the compatibility section above for other OS versions.

Can I use this configuration file for MariaDB troubleshooting?

Yes, this original configuration is excellent for troubleshooting. Compare it with your current settings to identify modifications that might be causing issues, or temporarily replace your config with this one to isolate problems.