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

Authentic ๐Ÿ“‹ Ubuntu 22.04 LTS (Jammy Jellyfish) 115 lines

File Info

Size
115 lines
MD5
682c93d1cf5888bc1f5aafe51da2d2e9
SHA256
ad94fd5a6b9e4fd70d7ae30ecedaedf21b57cb140b77d1089cddaf9ef9f14aa6

Quick Commands

curl:
curl https://exampleconfig.com/api/v1/config/original/682c93d1cf5888bc1f5aafe51da2d2e9?hint=50-server.cnf
wget:
wget -O 50-server.cnf https://exampleconfig.com/api/v1/config/original/682c93d1cf5888bc1f5aafe51da2d2e9?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

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

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 Ubuntu 22.04 LTS (Jammy Jellyfish) 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 115-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 Ubuntu 22.04?
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 Ubuntu 22.04 LTS (Jammy Jellyfish). 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 Ubuntu 22.04 LTS (Jammy Jellyfish). 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.