UbuntuにMariaDBをインストールして設定する手順

開発環境

UbuntuにMariaDBをインストールする方法を知りたいですか?MariaDBはMySQLから派生したオープンソースのデータベースで、WordPressやLaravel、Djangoなど多くのWebアプリケーションで利用されています。

この記事ではUbuntu 24.04 LTS(Docker公式イメージ)で実際にコマンドを実行して確認した手順を紹介します。Ubuntu 24.04では mariadb-server 10.11.14 がインストールされます(2026年6月時点の実測値)。

この記事のポイント

  • apt install mariadb-server 1コマンドでインストールできる
  • Ubuntu 24.04 には MariaDB 10.11.14 が入る(22.04 では 10.6.23)
  • インストール直後から utf8mb4 がデフォルト文字コードに設定済み
  • mariadb-secure-installation でセキュリティ設定を必ず行う
  • サービス名は mariadbsystemctl start mariadb で起動)

目次

  1. MariaDB とは(MySQL との違い)
  2. 前提環境
  3. MariaDB のインストール手順
  4. インストール結果の確認
  5. セキュリティ設定(mariadb-secure-installation)
  6. サービスの自動起動設定
  7. データベースとユーザーの作成
  8. 設定ファイルの場所と主要パラメータ
  9. Ubuntu 22.04 vs 24.04 バージョン比較
  10. よくあるエラーと解決策
  11. まとめ

MariaDB とは(MySQL との違い)

MariaDB はもともと MySQL の開発者が MySQL から分岐(フォーク)して作ったデータベースです。2010年に MySQL がOracle社に買収されたことを機に、オープンソースコミュニティ主導で開発が続いています。

MariaDB と MySQL は互換性が高く、コマンドや設定ファイルの書き方がほぼ同じです。MariaDB のクライアントコマンドは mariadb(旧来の mysql コマンドも使えます)で、設定ファイルも /etc/mysql/ 配下に置かれます。

主な違いは以下の通りです:

  • 完全にオープンソース(GPLライセンス)で開発される
  • Aria ストレージエンジンや Spider ストレージエンジンなど独自機能がある
  • Ubuntu の公式リポジトリに含まれており、apt でそのままインストールできる

学習・開発用途であればMySQLと使い勝手はほぼ同じなので、どちらを使っても問題ありません。

前提環境

本記事では以下の環境で動作を確認しています。

項目 内容
OS Ubuntu 24.04 LTS(Noble Numbat)
実行環境 Docker公式イメージ ubuntu:24.04
インストール方法 apt(Ubuntu公式リポジトリ)
MariaDBバージョン 10.11.14-MariaDB(2026年6月時点)

注意

本記事のコマンドは Ubuntu 24.04 LTS で検証しています。Ubuntu 22.04 では MariaDB 10.6.x がインストールされます。バージョンが異なる場合は一部動作が変わる場合があります。

MariaDB のインストール手順

手順1:パッケージリストを更新する

まずパッケージリストを最新状態にします。apt update を忘れると古いバージョンが入ってしまうことがあります。




ubuntu@linuxlab: ~
$ sudo apt update
Get:1 http://ports.ubuntu.com/ubuntu-ports noble InRelease [256 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports noble-updates InRelease [126 kB]
Fetched 39.6 MB in 4s (10.6 MB/s)
Reading package lists… Done

手順2:mariadb-server をインストールする

以下のコマンドを実行します。mariadb-server をインストールすると、クライアント(mariadb-client)も同時に入ります。




ubuntu@linuxlab: ~
$ sudo apt install -y mariadb-server
Reading package lists… Done
Building dependency tree… Done
The following NEW packages will be installed:
galera-4 mariadb-client mariadb-client-core mariadb-common
mariadb-server mariadb-server-core mysql-common …
Get:41 …/mariadb-server-core_1%3a10.11.14-0ubuntu0.24.04.1 [8286 kB]
Get:45 …/mariadb-server_1%3a10.11.14-0ubuntu0.24.04.1 [3442 kB]
Setting up mariadb-server-core (1:10.11.14-0ubuntu0.24.04.1) …
Setting up mariadb-server (1:10.11.14-0ubuntu0.24.04.1) …
apt install mariadb-server の実行ログ(Ubuntu 24.04 実測)
apt install mariadb-server の実行ログ(Ubuntu 24.04 実測)

インストールには依存パッケージとして galera-4(クラスタ機能)や各種圧縮プラグインも含まれます。完了まで数分かかる場合があります。

インストール結果の確認

バージョン確認

インストールが完了したらバージョンを確認します。




ubuntu@linuxlab: ~
$ mariadb –version
mariadb Ver 15.1 Distrib 10.11.14-MariaDB, for debian-linux-gnu (aarch64) using EditLine wrapper

Ubuntu 24.04 では MariaDB 10.11.14 がインストールされました(2026年6月時点)。

サービス起動確認

インストール直後にサービスが起動しているか確認します。




ubuntu@linuxlab: ~
$ sudo systemctl status mariadb
● mariadb.service – MariaDB 10.11.14 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; …)
Active: active (running) since …
Process: ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld
Main PID: 1235 (/usr/sbin/mariadbd)
$ ss -tlnp | grep ‘:3306’
LISTEN 0 80 127.0.0.1:3306 0.0.0.0:*
MariaDB サービス起動・ポート確認(Ubuntu 24.04 実測)
MariaDB サービス起動・ポート確認(Ubuntu 24.04 実測)

実際に動かしてみると、インストール完了と同時に MariaDB が 127.0.0.1:3306 でリッスン状態になっていました。VPSで運用する際は、この bind-address の設定が重要なセキュリティポイントになります。

MariaDB インストールから初期操作までの全ターミナルセッション
MariaDB インストールから初期操作までの全ターミナルセッション

セキュリティ設定(mariadb-secure-installation)

インストール直後は匿名ユーザーやテストデータベースが残っていて危険な状態です。本番・学習問わず必ず mariadb-secure-installation を実行してください。

注意

このコマンドはroot権限が必要です。途中でパスワード変更を求められますが、Ubuntu 24.04 のMariaDBはデフォルトで「unix_socket認証」を使っているため、初回は空のまま Enter でも進める場合があります。




ubuntu@linuxlab: ~
$ sudo mariadb-secure-installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE!

In order to log into MariaDB to secure it, we’ll need the current
password for the root user. Enter it here:
(Enterキー)
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] y
New password: ********
Re-enter new password: ********
Password updated successfully!
Remove anonymous users? [Y/n] y
… Success!
Disallow root login remotely? [Y/n] y
… Success!
Remove test database and access to it? [Y/n] y
… Success!
Reload privilege tables now? [Y/n] y
… Success!

各質問の推奨回答は次の通りです:

質問 推奨回答 理由
Switch to unix_socket authentication? n(そのまま) パスワード認証も使いたい場合は n
Change the root password? y 強力なパスワードを設定する
Remove anonymous users? y セキュリティ上必須
Disallow root login remotely? y 本番環境では必ず設定
Remove test database? y 本番環境では削除推奨

サービスの自動起動設定

Ubuntu 24.04 では apt でインストールすると自動起動が有効になっていますが、確認と設定方法を覚えておきましょう。




ubuntu@linuxlab: ~
# 自動起動が有効か確認
$ sudo systemctl is-enabled mariadb
enabled
# 手動で有効にする場合
$ sudo systemctl enable mariadb
Synchronizing state of mariadb.service with SysV service script…
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service
# サービス操作コマンド一覧
$ sudo systemctl start mariadb # 起動
$ sudo systemctl stop mariadb # 停止
$ sudo systemctl restart mariadb # 再起動
$ sudo systemctl status mariadb # 状態確認

データベースとユーザーの作成

MariaDB に接続してデータベースとユーザーを作成する基本操作です。sudo mariadb でrootとしてログインできます(セキュリティ設定前)。

① MariaDB にログイン




ubuntu@linuxlab: ~
$ sudo mariadb
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.11.14-MariaDB-0ubuntu0.24.04.1 Ubuntu 24.04

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

MariaDB [(none)]> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
+——————–+
3 rows in set (0.001 sec)

② データベースを作成する




ubuntu@linuxlab: ~
MariaDB [(none)]> CREATE DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| myapp |
| mysql |
| performance_schema |
+——————–+
4 rows in set (0.000 sec)

データベース作成時に CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci を明示すると日本語も安全に保存できます。Ubuntu 24.04 の MariaDB ではこれがデフォルト設定なので、省略しても同じ設定が適用されます(実測で確認済み)。

③ 専用ユーザーを作成して権限付与する




ubuntu@linuxlab: ~
MariaDB [(none)]> CREATE USER ‘myuser’@’localhost’ IDENTIFIED BY ‘StrongP@ss123’;
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON myapp.* TO ‘myuser’@’localhost’;
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> exit
Bye
# 作成したユーザーで接続確認
$ mariadb -u myuser -p myapp
Enter password: ****
Welcome to the MariaDB monitor. …
MariaDB [myapp]>

アプリケーションには root ユーザーではなく、必要最小限の権限を持つ専用ユーザーを使いましょう。root でアプリを動かすのはセキュリティリスクになります。

設定ファイルの場所と主要パラメータ

MariaDB の設定ファイルは /etc/mysql/ 以下に置かれています。実際にコンテナで確認した構造は次の通りです。




ubuntu@linuxlab: ~
$ ls /etc/mysql/mariadb.conf.d/
50-client.cnf 50-mysql-clients.cnf 50-mysqld_safe.cnf
50-server.cnf 60-galera.cnf provider_bzip2.cnf
$ grep -E ‘(bind-address|character-set|collation|datadir|socket)’ \
/etc/mysql/mariadb.conf.d/50-server.cnf
bind-address = 127.0.0.1
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
datadir = /var/lib/mysql
socket = /run/mysqld/mysqld.sock
MariaDB 設定ファイル構成と主要パラメータ(Ubuntu 24.04 実測)
MariaDB 設定ファイル構成と主要パラメータ(Ubuntu 24.04 実測)

正直、これは知らないと詰まるポイントです。bind-address が 127.0.0.1(ローカルのみ)なので、VPSから外部アプリケーションに接続させたい場合は 50-server.cnf を編集してIPアドレスを変更する必要があります。

設定ファイル 役割
/etc/mysql/mariadb.conf.d/50-server.cnf サーバーのメイン設定(bind-address・文字コード等)
/etc/mysql/mariadb.conf.d/50-client.cnf クライアント接続のデフォルト設定
/etc/mysql/mariadb.conf.d/60-galera.cnf Galera クラスタ設定(通常は編集不要)
/var/lib/mysql/ データ保存ディレクトリ

Ubuntu 22.04 vs 24.04 バージョン比較

Ubuntu のバージョンによって入る MariaDB のバージョンが異なります。Docker の2つのイメージで実際に確認した結果を示します。

Ubuntu 22.04 vs 24.04 MariaDB バージョン比較(実測)
Ubuntu 22.04 vs 24.04 MariaDB バージョン比較(実測)

実測で判明したポイントをまとめます:

  • Ubuntu 22.04(Jammy):MariaDB 10.6.23(パッケージ版: 1:10.6.23-0ubuntu0.22.04.1)
  • Ubuntu 24.04(Noble):MariaDB 10.11.14(パッケージ版: 1:10.11.14-0ubuntu0.24.04.1)
  • どちらのバージョンもデフォルトの文字コードは utf8mb4 / utf8mb4_general_ci(日本語対応済み)
  • bind-address や設定ファイルの構造は両バージョンで同一

よくあるエラーと解決策

① ERROR 1045: Access denied for user ‘root’@’localhost’

パスワードを間違えている、または mariadb-secure-installation 設定後に sudo なしで接続しようとしている場合に起こります。




ubuntu@linuxlab: ~
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)
# → sudo を付けてログインする
$ sudo mariadb
Welcome to the MariaDB monitor.

Ubuntu 24.04 のMariaDBはデフォルトで root ユーザーに unix_socket 認証を使っているため、sudo mariadb(root権限)でなければログインできません。

② サービスが起動しない




ubuntu@linuxlab: ~
$ sudo systemctl status mariadb
● mariadb.service – MariaDB database server
Active: failed (Result: exit-code)
# ログを確認する
$ sudo journalctl -u mariadb –no-pager | tail -20

ポート 3306 が既に使われていたり、設定ファイルに書き間違いがある場合に起動失敗します。journalctl でエラーの詳細を確認してください。

③ Can’t connect to local MySQL server through socket




ubuntu@linuxlab: ~
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/run/mysqld/mysqld.sock’
# MariaDB が起動していない → 起動する
$ sudo systemctl start mariadb
(エラーなし = 起動成功)

このエラーは MariaDB のプロセスが動いていないときに出ます。systemctl start mariadb で起動してください。

まとめ

Ubuntu 24.04 への MariaDB インストール手順を実際にコンテナで確認しました。

  • インストールコマンドは sudo apt install -y mariadb-server の1行
  • Ubuntu 24.04 では MariaDB 10.11.14 がインストールされる(実測値:2026年6月)
  • インストール直後から utf8mb4(日本語対応)がデフォルト設定済み
  • セキュリティ設定は sudo mariadb-secure-installation で必ず行う
  • 設定ファイルは /etc/mysql/mariadb.conf.d/50-server.cnf、bind-address はデフォルト 127.0.0.1
  • Ubuntu 22.04 では MariaDB 10.6.23 が入る(24.04 は 10.11.14)

MariaDB のセットアップができたら、次は VPS でサーバーを運用してみましょう。本番環境では自動バックアップやファイアウォール設定も重要です。

VPS 各社の速度や料金を実測ベンチで比較したい場合は、こちらの記事も参考にしてください:VPSスピード比較(実測ベンチ)

コメント

タイトルとURLをコピーしました