Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The quickest supported path is to install MariaDB from your distribution’s package repository, enable and verify the service, run mariadb-secure-installation, and then add only the network, authentication, and TLS settings your deployment needs. Ubuntu uses APT; CentOS and other Red Hat-family systems use DNF or YUM. Because repository support changes, identify your exact operating-system release, architecture, and desired MariaDB series before choosing a MariaDB-provided repository.

Decide what you are installing

“Ubuntu” and “CentOS” describe families rather than one fixed platform. Before installing, record the release and architecture:

cat /etc/os-release
uname -m

Use the distribution packages when simplicity and integration with the operating system matter. Use MariaDB’s repository setup tool when you need to select a MariaDB major series or pin a particular release. Follow the current repository tool’s supported-release list; examples for older codenames or CentOS versions can become invalid.

Choose a release policy

  • Track a major series: receive updates within that series while retaining its compatibility expectations.
  • Pin a minor version: control the exact server version for a tested deployment, but update the repository configuration deliberately when changing versions.
  • Standalone server: install the server and client only.
  • Galera cluster: install the separate cluster packages required by the selected repository. From MariaDB 12.3, Galera support is not included in the base server package.

Install MariaDB on Ubuntu

Option A: Ubuntu’s packages

This is the simplest route and uses the versions maintained for your Ubuntu release:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo apt update
sudo apt install mariadb-server mariadb-client

The command installs the server daemon and the command-line client. If APT reports that a package is unavailable, check the Ubuntu release and enabled repositories before trying another command.

Option B: MariaDB’s APT repository

For a MariaDB-provided series or a pinned release, use MariaDB’s current Debian/Ubuntu repository configuration tool. Select the exact Ubuntu codename, architecture, and desired major or minor version in that tool, then run the generated commands. Do not copy an older example without checking that your release is listed as supported. After the repository is configured, install the server and client packages with APT and retain the selected version policy in your deployment documentation.

Install MariaDB on CentOS and other RPM systems

Choose DNF or YUM

Most current Red Hat-family systems use DNF. CentOS 7 uses YUM. The generic package names in the quick-start workflow are:

# DNF-based systems
sudo dnf install mariadb mariadb-server

# CentOS 7
sudo yum install mariadb mariadb-server

MariaDB’s own repository uses package names beginning with MariaDB-. In that repository context, a basic standalone installation can be:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo dnf install MariaDB-server

The detailed repository package set may also include:

sudo dnf install MariaDB-server MariaDB-server-galera galera-4 MariaDB-client MariaDB-shared MariaDB-backup MariaDB-common

Install the larger set only when you need Galera, backup tooling, shared libraries, or the other listed components. A standalone server does not require Galera merely because it appears in a broad example. On MariaDB 12.3 and later, cluster support specifically requires MariaDB-server-galera.

Configure the MariaDB RPM repository

MariaDB’s RPM instructions let you select a major series or pin a full version. Use the current repository setup instructions for your exact CentOS, RHEL, Rocky, Fedora, or SLES release. If you change the series later, revise the repository configuration carefully; a repository pinned to a minor release should not be changed casually.

Start the service and verify installation

Package installation does not remove the need to check the service state:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo systemctl status mariadb
sudo systemctl start mariadb

If the status is already active (running), the start command is harmless. To start MariaDB automatically after boot, enable it explicitly:

sudo systemctl enable mariadb

For a first local connection, use the authentication method created by your installation. MariaDB 10.4 and later commonly use Unix-socket authentication for the local administrative account, so try:

sudo mariadb

If your setup instead uses password authentication, connect with:

mariadb -u root -p

At the MariaDB prompt, verify the server responds:

SELECT VERSION();
EXIT;

Run the initial security configuration

Run the bundled hardening script:

sudo mariadb-secure-installation

It can remove anonymous accounts, root accounts that are accessible outside the local host, and the default test database. Read each prompt rather than blindly applying an old tutorial’s answers. MariaDB Documentation notes that from version 10.4 Unix-socket authentication is applied by default and there is usually no need to create a root password. If the script asks about changing the root password, decide based on the authentication method shown by your installation, not on assumptions from MySQL-era guides.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Configure server options safely

Keep local changes in a custom option file under a directory MariaDB already includes, instead of editing a distribution-managed default. MariaDB’s TLS guidance gives these paths:

  • Debian and Ubuntu: /etc/mysql/mariadb.conf.d/z-custom-my.cnf
  • RHEL, CentOS, Rocky Linux, and SLES: /etc/my.cnf.d/z-custom-my.cnf

A custom file can contain a server group and TLS paths such as:

[mariadb]
ssl_cert = /path/to/server-cert.pem
ssl_key  = /path/to/server-key.pem
ssl_ca   = /path/to/ca-cert.pem

Replace the example paths with certificates and a private key readable by the MariaDB service account. TLS is not enabled merely by installing MariaDB; certificates and explicit server configuration are required. Restart after changing the file:

sudo systemctl restart mariadb
sudo systemctl status mariadb

Use a distinct filename such as z-custom-my.cnf so package updates are less likely to overwrite your settings. Keep permissions restrictive, especially on the private key.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Plan local and remote access

Local socket access is the safest starting point. Remote clients require all of the following to be intentional:

  • A MariaDB account permitted to connect from the client’s host or network.
  • A server bind/listen configuration appropriate for that topology.
  • A firewall rule allowing the database port only from intended clients.
  • TLS when credentials or data cross a network.

MariaDB’s default port is 3306. The installation itself does not establish a universal firewall policy, so do not expose that port broadly. Open it only to the required source addresses and verify that your cloud or host firewall applies the same restriction.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Common failures and fixes

Symptom Likely cause Action
Unable to locate package mariadb-server APT metadata is stale, repositories are disabled, or the release is unsupported. Run sudo apt update, check /etc/os-release, and use a repository tool that explicitly supports that Ubuntu release.
DNF/YUM cannot find MariaDB packages The MariaDB repository is not configured, or package names from a different repository were used. Choose either distribution names (mariadb-server) or MariaDB repository names (MariaDB-server) and follow the matching current repository instructions.
systemctl status mariadb shows failed Invalid configuration, permissions, data-directory problem, or a port conflict. Inspect the service journal with sudo journalctl -u mariadb, correct the reported error, then restart.
mariadb -u root -p is rejected The installation uses Unix-socket authentication rather than a root password. Try sudo mariadb; create separate password-authenticated administrative users according to your policy instead of weakening socket authentication.
Remote connection times out Firewall, bind address, routing, or cloud security rules block port 3306. Allow the port only from the intended client network, verify the server is listening, and test connectivity without opening it to the public internet.
TLS fails after adding certificates Wrong path, unreadable key, invalid certificate chain, or configuration in a file MariaDB does not include. Confirm the platform-specific include directory, file permissions, certificate chain, and journal output; restart only after fixing the reported error.

Operational checks after configuration

  • Save the output of SELECT VERSION(); and the OS release information with your deployment record.
  • Test both the intended local authentication method and each approved remote account.
  • Confirm that a restart succeeds after every option-file change.
  • Document whether you track a major series or pin a minor version before applying repository updates.
  • Back up databases before upgrades or repository-series changes.

Or skip the browser setup

If you are automating documentation or deployment checks that need a website image, ScreenshotNeo provides a one-request screenshot API and an MCP server for AI agents. It accepts cookie and consent banners as a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and response headers identify the page verdict and billing result.

Use the API documentation at https://screenshotneo.com/docs/ for all options. A basic call is:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Python:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

The same service supports full-page and element captures, device and retina settings, PDF output, custom CSS and JavaScript, waits, request blocking, cookies and headers, geolocation, caching, signed links, asynchronous webhooks, bulk capture, and an MCP server with take_screenshot, get_page_info, and capture_pdf. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Create a free ScreenshotNeo account.

Frequently Asked Questions

Can I switch from Ubuntu packages to MariaDB’s repository later?

Yes, but treat it as a planned package-source and version change: record the current server version, review repository-series compatibility, back up databases, and follow MariaDB’s current migration instructions for your release.

Do I need Galera for a normal MariaDB installation?

No. Galera is for clustered deployments. A standalone server needs only the server and client packages appropriate to its repository.

Should I expose MariaDB directly to the internet?

No. Remote access should be limited by account, bind/listen settings, and firewall source addresses, with TLS for traffic crossing an untrusted network.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.