CentOS 7 に MariaDB Community Server 最新版をインストール

RHEL 7 / CentOS 7 などの主要な Linux ディストリビューションでは MariaDB Server がデフォルトのRDBMSとなっており,例えば RHEL 7 では以下のコマンドで簡単にインストールすることが可能ですが,

sudo yum install mariadb-server

執筆時点では,MariaDB 5.5.60 がインストールされます。MariaDB general release maintenance periods では,MariaDB 5.5 は2020年4月11日でサポート終了予定となっており,新規に production 環境にインストールするのは好ましくありません。

本記事では,CentOS 7 にGA最新版の MariaDB Server 10.4 をインストールする手順を解説致します。

yumレポジトリの設定

今回は実行環境として CentOS 7.6.1810 を用います。yum レポジトリ設定は以下のワンライナーで行います。
(このスクリプト自体はRHEL/CentOS以外のサポートされているプラットフォームでも利用可能です)

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

なお,このスクリプトでは /etc/yum.repos.d に以下の3レポジトリが設定されます。

  • MariaDB Server Repository
  • MariaDB MaxScale Repository
  • MariaDB Tools Repository

reference knowledge base: MariaDB Package Repository Setup and Usage

MariaDB Server のインストール

yum レポジトリ設定後,MariaDB Server 最新版のインストールは以下のコマンドで行うことができます。

sudo yum install MariaDB-server

CentOS 7 標準の mariadb-server とはパッケージ名が異なりますので,留意願います(MとDBが大文字になります)。
依存パッケージとして以下のパッケージもインストールされます。

================================================================================
 Package            Arch       Version                   Repository        Size
================================================================================
Installing:
 MariaDB-server     x86_64     10.4.6-1.el7.centos       mariadb-main      25 M
Installing for dependencies:
 MariaDB-client     x86_64     10.4.6-1.el7.centos       mariadb-main      12 M
 MariaDB-common     x86_64     10.4.6-1.el7.centos       mariadb-main      81 k
 MariaDB-compat     x86_64     10.4.6-1.el7.centos       mariadb-main     2.8 M

文字コード設定

MariaDB Server のデフォルト設定では文字コードが latin1 になっていますので,日本語を扱えるよう,utf8 に変更します。

/etc/my.cnf.d/server.cnf の [mariadb] セクションに以下の設定を追加します。

[mariadb]
character-set-server=utf8

mariadb serviceの有効化

MariaDB-server のインストール後,mariadb service の有効化/開始を行います。

sudo systemctl enable mariadb
sudo systemctl start mariadb

mysqlコマンド(MariaDB monitor)を実行して以下のようなバナーが表示されれば,MariaDB 10.4 が正常にインストールされていることが確認できます。

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.4.6-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]>

先ほど設定した文字コード(character_set)設定を確認します。

MariaDB [(none)]> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

すべて utf8 に変更されていることが確認できます。

まとめ

今回は CentOS 7 に最新版の MariaDB Server をインストールする手順を解説させて頂きました。RHEL 7 でもほぼ同様の手順でインストールが可能です。