MariaDB10.6(10.5)のインストール(Amazon Linux2(ec2),CentOS7)、WordPressの環境構築

WordPressの環境構築の第3回で、MariaDBのインストールについて説明しています。

目的と動作環境

最終更新日:2022/8/1

WordPress(ワードプレス)の環境構築の手順について説明していきます。前回はWordPressの環境構築の第2回として、PHP7.4のインストールをしました。
WordPress環境構築の第2回、PHP7.4のインストール

今回はWordPress環境構築の第3回で、MariaDBのバージョン10.6(10.5)をインストールします。

Amazon Linux2やCentOS7環境で、yumでいきなりMariaDBをインストールしようとすると古いバージョンのMariaDBをインストールしてしまうので、WordPressの環境構築とか関係なく、MariaDB10.Xのインストールをしたい方も参考にしてみてください。

WordPresのデータベースは、MariaDBかMySQLのどちらかが使えますが、ここではMariaDBをインストールして使っていきます。 また、ここではWebサーバ(Apache、WordPress)が入っている同じサーバに、MariaDBをインストールします。

■環境やインストールするバージョン情報です。
WordPress:6.0(2022/5/24時点の最新バージョン)、5.8(2021/11/3時点の最新バージョン)
->バージョンは6.0、5.8の2つで試しています。
ウェブサーバ:Apache2.4
PHP:7.4
MariaDB:10.5、10.6

試したOS環境は、ec2のAmazon Linux 2(64ビット(x86))とCentOS7.9の2つです。
・ec2

$ cat /etc/system-release
Amazon Linux release 2 (Karoo)
・CentOS7
$ cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

amazon-linux-extrasでMariaDB10.5のインストール(ec2環境(Amazon Linux 2))

ec2(Amazon Linux2)環境でMariaDB10.5のインストールをしていきます(ec2環境(Amazon Linux2)でMariaDBの最新バージョン10.6をインストールしたい場合は、こちらの方を参考にしてください。また、CentOS7環境の場合は、こちらの方を参考にしてください。)

ec2(Amazon Linux2)環境では、amazon-linux-extrasコマンドでMariaDBのバージョン10.5をインストールできます。
(現状、amazon-linux-extrasコマンドでインストールできるMariaDBのバージョンは10.5だけみたいです。)

$ amazon-linux-extras | grep -i maria
  _  lamp-mariadb10.2-php7.2  available    \
 54  mariadb10.5              available    [ =stable ]

このMariadb10.5をインストールします。

$ sudo amazon-linux-extras install mariadb10.5
Installing mariadb
〜
インストールできました!

バージョンを確認すると、10.5.10です。

$ mariadb -V
mariadb  Ver 15.1 Distrib 10.5.10-MariaDB, for Linux (x86_64) using  EditLine wrapper

また、インストールされたMariaDB関連のパッケージ一覧です。色々と入りましたね。

$ yum list installed | grep -i mariadb
Judy.x86_64                    1.0.5-8.amzn2.0.1         @amzn2extra-mariadb10.5
libsphinxclient.x86_64         2.2.11-5.amzn2.0.1        @amzn2extra-mariadb10.5
mariadb.x86_64                 3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mariadb-backup.x86_64          3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mariadb-common.x86_64          3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mariadb-config.x86_64          3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mariadb-connect-engine.x86_64  3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mariadb-cracklib-password-check.x86_64
                               3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mariadb-devel.x86_64           3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mariadb-errmsg.x86_64          3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mariadb-gssapi-server.x86_64   3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mariadb-libs.x86_64            3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mariadb-oqgraph-engine.x86_64  3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mariadb-pam.x86_64             3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mariadb-rocksdb-engine.x86_64  3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mariadb-server.x86_64          3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mariadb-server-utils.x86_64    3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mariadb-sphinx-engine.x86_64   3:10.5.10-2.amzn2.0.1     @amzn2extra-mariadb10.5
mytop.noarch                   1.7-20.b737f60.amzn2      @amzn2extra-mariadb10.5
sphinx.x86_64                  2.2.11-5.amzn2.0.1        @amzn2extra-mariadb10.5

また、Mariadb10.5をインストール後にyum repolistでリポジトリの一覧を確認してみたら、amzn2extra-mariadb10.5リポジトリが追加されて有効状態になっていました。

$ yum repolist
〜
リポジトリー ID                                 リポジトリー名                                          状態
!amzn2-core/2/x86_64                       Amazon Linux 2 core repository                              26,556
amzn2extra-docker/2/x86_64                 Amazon Extras repo for docker                                   50
amzn2extra-epel/2/x86_64                   Amazon Extras repo for epel                                      1
amzn2extra-mariadb10.5/2/x86_64            Amazon Extras repo for mariadb10.5                              72
amzn2extra-php7.4/2/x86_64                 Amazon Extras repo for php7.4                                  329
epel/x86_64                                Extra Packages for Enterprise Linux 7 - x86_64          13,454+234
repolist: 40,462

MariaDBのインストールができたら、次はMariaDBサービスの起動をしてみます。

MariaDB10.6のインストール(ec2環境(Amazon Linux 2))

amazon-linux-extrasでMariaDB10.5のインストール(ec2環境(Amazon Linux 2))で説明した通り、ec2(Amazon Linux2)環境では、amazon-linux-extrasコマンドでインストールできるMariaDBのバージョンは10.5だけでした。

ただ、amazon-linux-extrasコマンドを使うのではなく、MariaDBのリポジトリを直接設定すれば、リポジトリで指定したバージョンのMariaDBをインストールする事もできます。

ここでは、ec2(Amazon Linux2)環境でMariaDBのリポジトリを設定してMariaDBのバージョン10.6(2021/11/1時点の最新版)をインストールしてみます。CentOS7環境の場合は、こちらの方を参考にしてください。

MariaDBのリポジトリファイルに書く設定情報は、MariaDB FoundationのDownload MariaDB Serverページが参考になります。
MariaDB FoundationでMariaDBリポジトリファイルの作成

"MariaDB Repositories"タブを選択して、Choose a distributionは"CentOS 7(x86_64)"、Choose a MariaDB Server versionは"10.6"、Mirrorは適当な箇所を選択します。

すると、MariaDBのリポジトリの設定情報が生成されるので、MariaDBのリポジトリファイル(/etc/yum.repos.d/MariaDB.repo)を新規作成してこの設定情報を保存します。

$ cat /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.6 CentOS repository list - created 2021-10-31 17:42 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = http://nyc2.mirrors.digitalocean.com/mariadb/yum/10.6/centos7-amd64
gpgkey=http://nyc2.mirrors.digitalocean.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

MariaDB.repoファイルを作成したら、yumでmariadb-serverをインストールします。

$ sudo yum install mariadb-server
〜
==========================================================================================================
 Package                           アーキテクチャー      バージョン                  リポジトリー      容量
==========================================================================================================
インストール中:
 MariaDB-compat                    x86_64              10.6.4-1.el7.centos            mariadb         2.2 M
     mariadb-libs.x86_64 1:5.5.68-1.amzn2 を入れ替えます
 MariaDB-server                    x86_64              10.6.4-1.el7.centos            mariadb          25 M
依存性関連でのインストールをします:
 MariaDB-client                    x86_64              10.6.4-1.el7.centos            mariadb          14 M
 MariaDB-common                    x86_64              10.6.4-1.el7.centos            mariadb          81 k
〜
インストール:
  MariaDB-compat.x86_64 0:10.6.4-1.el7.centos                        MariaDB-server.x86_64 0:10.6.4-1.el7.centos                       

依存性関連をインストールしました:
  MariaDB-client.x86_64 0:10.6.4-1.el7.centos                      MariaDB-common.x86_64 0:10.6.4-1.el7.centos                        
  boost-program-options.x86_64 0:1.53.0-27.amzn2.0.5               galera-4.x86_64 0:26.4.9-1.el7.centos                              
  libpmem.x86_64 0:1.3-3.amzn2                                     ncurses-compat-libs.x86_64 0:6.0-8.20170212.amzn2.1.3              
  perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.amzn2.0.2               perl-Compress-Raw-Zlib.x86_64 1:2.061-4.amzn2.0.2                  
  perl-DBI.x86_64 0:1.627-4.amzn2.0.2                              perl-Data-Dumper.x86_64 0:2.145-3.amzn2.0.2                        
  perl-IO-Compress.noarch 0:2.061-2.amzn2                          perl-Net-Daemon.noarch 0:0.48-5.amzn2                              
  perl-PlRPC.noarch 0:0.2020-14.amzn2                              socat.x86_64 0:1.7.3.2-2.amzn2.0.1                                 

置換:
  mariadb-libs.x86_64 1:5.5.68-1.amzn2                                                                                                 

完了しました!
インストールできました!

バージョンを確認すると、10.6.4です。

$ mariadb -V
mariadb  Ver 15.1 Distrib 10.6.4-MariaDB, for Linux (x86_64) using readline 5.1

インストールされたMariaDB関連のパッケージ一覧はこんな感じです。MariaDB-serverの他に、MariaDB-clientなどもインストールされています。

$ yum list installed | grep -i mariadb
MariaDB-client.x86_64                 10.6.4-1.el7.centos            @mariadb   
MariaDB-common.x86_64                 10.6.4-1.el7.centos            @mariadb   
MariaDB-compat.x86_64                 10.6.4-1.el7.centos            @mariadb   
MariaDB-server.x86_64                 10.6.4-1.el7.centos            @mariadb   
galera-4.x86_64                       26.4.9-1.el7.centos            @mariadb 

MariaDBのインストールができたら、次はMariaDBサービスの起動をしてみます。

MariaDB10.6のインストール(CentOS7環境)

CentOS7環境で、MariaDB10.6をインストールしていきます。(ec2環境(Amazon Linux 2)でamazon-linux-extrasコマンドでMariaDB10.5をインストールする場合は、こちらの方を参考にしてください。また、ec2環境(Amazon Linux 2)でyumでMariaDB10.6をインストールする場合は、こちらの方を参考にしてください。)

上でも書きましたが、CentOS7環境でyumでいきなりMariaDBをインストールしようとすると古いバージョンのMariaDBをインストールしてしまうため、最新バージョンのMariaDBをインストールしたい場合は、MariaDBのリポジトリを設定して、そこからインストールする必要があります。

自分でMariaDBのリポジトリファイル(/etc/yum.repos.d/mariadb.repoとか)を作成しても良いですが、CentOS7環境では下のスクリプトを実行する事で、MariaDBのバージョン10.6のリポジトリを簡単にセットアップする事ができます。

$ curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.6"

[info] Checking for script prerequisites.
[info] Repository file successfully written to /etc/yum.repos.d/mariadb.repo
〜
リポジトリーを清掃しています: base epel extras mariadb-main mariadb-maxscale mariadb-tools remi-safe updates
Cleaning up list of fastest mirrors
Other repos take up 1.4 M of disk space (use --verbose for details)
参考サイト:MariaDB Package Repository Setup and Usage

スクリプトの実行ができたので、リポジトリ一覧を確認してみます。

$ ls  /etc/yum.repos.d/
CentOS-Base.repo       CentOS-Vault.repo          mariadb.repo      remi-modular.repo  remi-php73.repo  remi.repo
CentOS-CR.repo         CentOS-fasttrack.repo      remi-glpi91.repo  remi-php54.repo    remi-php74.repo
CentOS-Debuginfo.repo  CentOS-x86_64-kernel.repo  remi-glpi92.repo  remi-php70.repo    remi-php80.repo
CentOS-Media.repo      epel-testing.repo          remi-glpi93.repo  remi-php71.repo    remi-php81.repo
CentOS-Sources.repo    epel.repo                  remi-glpi94.repo  remi-php72.repo    remi-safe.repo

$ yum repolist
〜
リポジトリー ID                 リポジトリー名                                                      状態
base/7/x86_64                CentOS-7 - Base                                                     10,072
epel/x86_64                  Extra Packages for Enterprise Linux 7 - x86_64                      13,689
extras/7/x86_64              CentOS-7 - Extras                                                      500
mariadb-main                 MariaDB Server                                                          93
mariadb-maxscale             MariaDB MaxScale                                                         4
mariadb-tools                MariaDB Tools                                                           13
remi-safe                    Safe Remi's RPM repository for Enterprise Linux 7 - x86_64           4,641
updates/7/x86_64             CentOS-7 - Updates                                                   2,936
repolist: 31,948
/etc/yum.repos.d/mariadb.repoファイルが生成されて、mariadb-main、mariadb-maxscale、mariadb-toolsリポジトリが追加されて有効になっています。

ちなみに/etc/yum.repos.d/mariadb.repoファイルの中身です。

$ cat /etc/yum.repos.d/mariadb.repo 
[mariadb-main]
name = MariaDB Server
baseurl = https://dlm.mariadb.com/repo/mariadb-server/10.6/yum/rhel/7/x86_64
gpgkey = file:///etc/pki/rpm-gpg/MariaDB-Server-GPG-KEY
gpgcheck = 1
enabled = 1

[mariadb-maxscale]
〜

[mariadb-tools]
〜

これでMariaDB10.6のリポジトリの準備ができたので、yumでMariaDBをインストールします。

$ sudo yum install mariadb-server
〜
 インストール:
  MariaDB-compat.x86_64 0:10.6.4-1.el7.centos                        MariaDB-server.x86_64 0:10.6.4-1.el7.centos                       

依存性関連をインストールしました:
  MariaDB-client.x86_64 0:10.6.4-1.el7.centos                        MariaDB-common.x86_64 0:10.6.4-1.el7.centos                       
  boost-program-options.x86_64 0:1.53.0-28.el7                       galera-4.x86_64 0:26.4.9-1.el7.centos                             
  libpmem.x86_64 0:1.5.1-2.1.el7                                     lsof.x86_64 0:4.87-6.el7                                          
  pcre2.x86_64 0:10.23-2.el7                                         perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7                      
  perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7                        perl-DBI.x86_64 0:1.627-4.el7                                     
  perl-Data-Dumper.x86_64 0:2.145-3.el7                              perl-IO-Compress.noarch 0:2.061-2.el7                             
  perl-Net-Daemon.noarch 0:0.48-5.el7                                perl-PlRPC.noarch 0:0.2020-14.el7                                 
  socat.x86_64 0:1.7.3.2-2.el7                                      

置換:
  mariadb-libs.x86_64 1:5.5.68-1.el7                                                                                                   

完了しました!
インストールできました!

バージョンは10.6.4です。10.6.xのxは、環境によって違うと思います。

$ mariadb -V
mariadb  Ver 15.1 Distrib 10.6.4-MariaDB, for Linux (x86_64) using readline 5.1

インストールされたMariaDB関連のパッケージ一覧です。

$ yum list installed | grep -i mariadb
MariaDB-client.x86_64              10.6.4-1.el7.centos             @mariadb-main
MariaDB-common.x86_64              10.6.4-1.el7.centos             @mariadb-main
MariaDB-compat.x86_64              10.6.4-1.el7.centos             @mariadb-main
MariaDB-server.x86_64              10.6.4-1.el7.centos             @mariadb-main
galera-4.x86_64                    26.4.9-1.el7.centos             @mariadb-main

MariaDBサービスの起動

MariaDBのインストールができたので、MariaDBを起動してみます。

$ systemctl status mariadb
● mariadb.service - MariaDB 10.5 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
〜
$ # MariaDBを起動する
$ sudo systemctl start mariadb

$ systemctl status mariadb
● mariadb.service - MariaDB 10.5 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
   Active: active (running) since 金 2021-10-29 01:42:28 JST; 26s ago
〜

yumでmariadb-serverをインストールした場合、サービス名はmariadbだけじゃなくmysqlでも使えます。amazon-linux-extrasでインストールした場合は、サービス名mysqlは使えませんでした。

$ systemctl status mysql
〜

MariaDBを起動したら、mariadbコマンドかmysqlコマンドでMariaDBのプロンプトに入れます。

$ sudo mariadb
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.5.10-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)]>
MariaDBのプロンプトからは、exitかショートカットのCtrl-Cで抜けれます。
MariaDB [(none)]> exit
Bye
$

あと、サーバ自体を再起動した時に、MariaDBサービスも起動するように設定しておきます。

$ systemctl is-enabled mariadb
disabled

$ #サーバ自体再起動した時にMariaDBも起動するように設定する
$ sudo systemctl enable mariadb

$ systemctl is-enabled mariadb
enabled

MariaDBのバージョンを確認する色々なコマンド

MariaDBのバージョンを確認したい時に使えるコマンドを書いておきます。

$ mariadb --version
mariadb  Ver 15.1 Distrib 10.6.4-MariaDB, for Linux (x86_64) using readline 5.1

$ mariadb -V

$ mysql --version

$ mysql -V

$ mysqladmin --version
MariaDBのプロンプト上でも確認できます。
MariaDB [(none)]> select version();
+-----------------+
| version()       |
+-----------------+
| 10.5.10-MariaDB |
+-----------------+
        
MariaDB [(none)]> status
--------------
mariadb  Ver 15.1 Distrib 10.5.10-MariaDB, for Linux (x86_64) using  EditLine wrapper
〜
Server:			MariaDB
Server version:		10.5.10-MariaDB MariaDB Server
〜

WordPress用のデータベースを作成する

MariaDBをインストールできたので、WordPressをインストールする前にWordPress用のデータベースとそのデータベースに接続するユーザ/パスワードを作成しておきます。

データベース名などは適当で良いです。ここではデータベース名は「wp-testdb」、ユーザ名は「wp-testuser」、パスワードは「wp-testpassword」にします。

MariaDBのプロンプトに入って、以下のコマンドを実行します(MariaDBのデータベースやユーザを作成する場合、rootユーザでする必要があります。下のコマンド例はrootパスワードが未設定の場合です。)

MariaDBをインストールした段階ではMariaDBのrootパスワードは未設定です。rootパスワードを設定するには、mariadb-secure-installationコマンド(もしくはmysql_secure_installationコマンド)でできます。

本番運用する場合はもちろんrootパスワードを設定しておいた方が良いと思いますが、ここではWordPressの環境構築の説明に集中したいので、rootパスワード未設定で進めていきます。

$ sudo mariadb -uroot
Welcome to the MariaDB monitor.  Commands end with ; or \g.
〜
MariaDB [(none)]> CREATE USER 'wp-testuser'@'localhost' IDENTIFIED BY 'wp-testpassword';
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> CREATE DATABASE `wp-testdb`;
Query OK, 1 row affected (0.000 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON `wp-testdb`.* TO "wp-testuser"@"localhost";
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> exit
Bye
これでWordPress用のデータベースを作成できました。

[広告] Kindle Unlimitedなら対象の本が定額で読み放題
対象本には、プログラミングなどのIT関連本、マンガ、雑誌、ビジネス書などがたくさんあります!

次回、WordPressのインストール

今回は、WordPressの環境構築の第3回としてMariaDB10.6(10.5)のインストールについて説明してきました。

次回は、WordPressのインストールについて説明します。
WordPress環境構築の第4回、WordPress6.0(5.8)のインストール(Amazon Linux2(ec2),CentOS7)